Pros and cons: embed Windows Media Player, or use Microsoft Multimedia Control 6.0?

Posted on 2007-04-07
Medium Priority
Last Modified: 2008-02-01

I'm writing a new application using VB6 (I'm still not ready for .NET), and in the application, users may include their video files, are play them.

( I think ) the good old Microsoft Multimedia Control 6.0 (MMC) will play AVI, MPG, MP4, WMV, MPEG, MPEG2, and MPEG4. (I haven't actually tested MP4 and MPEG2.)

Microsoft Multimedia Control 6.0 seems to be a good choice for this task, where the users will be taking small video clips, probably in AVI format, from camcorder uploads into their computers. Even video camera files in other formats can be pretty easily be converted to one of the compatible file types with little trouble to the end users. The other reasons the MMC might still be a good choice is that it will use up the least system resources (compared to Windows Media Player, "WMP" ), and will not have headaches for me in support. Embedding some version (v.9?) of WMP and dealing with different WMP versions and different Windows OS versions will probably create some support headaches.

My new application runs on Win2000, WinXP, and after testing and debugging, I'll include Vista on that list. I mention that because of the different WMP player versions distributed with those OSs.

What other considerations am I forgetting? The application in general, and the form that plays the videos in particular (and the .bas modules behind it) are pretty resource intensive, if that will affect your answer.
WMP plays SWF (Macromedia Flash files), which may be a bonus for some of the users, but is not mandatory. It appears to me that when codecs are installed on a computer, the good old MMC does indeed get to use those. I have my own UI, with my own controls that will allow users to interact with the video files (Stop, Play, start at the Beginning, etc.) Because those controls are already necessary to move through a presentation that includes JPG files and a bunch of data being displayed, I would need to hide the WMP controls anyway, so they provide no benefit. I know that Microsoft is actively doing development on the WMP, and the MMC is relatively "dead", but their are advantages and disadvantages both ways to a programmer.

So, will you please share your expertise and insights: Should I embed Windows Media Player, or use Microsoft Multimedia Control 6.0?

Thanks in advance!

Question by:dtleahy
  • 2
LVL 10

Accepted Solution

sakuya_su earned 2000 total points
ID: 18874186
there is nothing wrong with VB6 IMHO, it gets the job done, and in the end thats what it counts

a few points I would like to make from working with MMC and WMP controls:

 - MMC is very good becayse you will not have to worry about versions. WMP on the other hand, will sometimes completely stop working once you update.. I found it happening many many times, the older OCX replaced by a new version, then all the sudden a bunch of features are under different names and your old program no longer work.. at all (This is exactly what happened when WMP 9 came out, all the functions became members of classes and i find myself rewriting code)

 - MMC is indeed less resource intensive. When you create a copy of the WMP, a whole bunch of junk come up as well, like background protection code, database etc etc.

 - WMP Does have many features, like play listing, digital media, DVD, visualization (although I don't really know if that is usable in VB), but overwall it is more powerful. BUT, in your case with your custom controls etc, those features will simply not be used.

Personally, i find that MMC, being "dead" as you put it, is not a bad thing, because you know it has all the things you want, and you know the control will not be updated, causing problems.

So in the end, if you dont mind writing a little more code and you are going to hide your WMP window on the form anyway, why not use MMC?


I'm sure there are things I havent thought of, there are some really bad limitations on MMC, just cant remember what they are exactly

Author Comment

ID: 18874310
Hi sakuya_su, and thanks for the reply.

>there is nothing wrong with VB6 IMHO, it gets the job done, and in the end thats what it counts

From what Microsoft is saying (http://msdn2.microsoft.com/en-us/vbrun/ms788708.aspx), Vista is shipping with VB6 runtime files, and VB6 apps should run on Vista. They "guarantee" the VB6 runtime files will be included for 10 years (5yrs product cycle for Vista, plus 5 extended years.) So, I guess I still don't HAVE to throw VB6 away and learn C# or VB.NET or something else - at least not yet. Heck, maybe Microsoft will sell the source to Sun or Borland, and VB6 will be resurrected !  :~)

You comments on MMC vs WMP are right in line with what I am thinking, I just wanted to hear other viewpoints (other than my own.)

>I'm sure there are things I havent thought of, there are some really bad limitations on MMC, just cant remember what they are exactly

Lack of documentation? (at least using API calls)  If it wasn't for Abdullah Al-Ahdal, and his wonderful sample code (http://www.planet-source-code.com/vb/scripts/ShowCode.asp?lngWId=1&txtCodeId=9783), I would still be scratching my head on lots of the MMC functionality with API calls.

Thanks for taking the time to reply, sakuya_su. I hope some other experts who have used the WMP and MMC can add to this thread as well...


Author Comment

ID: 18877994
OK, well maybe sakuya_su said it all, and maybe I got lucky enough to have found someone who has actually tried both ways and knows the pitfalls. So, thanks sakuya_su for your helpful insight. I'm awarding the points to you.



Featured Post

The 14th Annual Expert Award Winners

The results are in! Meet the top members of our 2017 Expert Awards. Congratulations to all who qualified!

Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

Join & Write a Comment

Introduction In a recent article (http://www.experts-exchange.com/A_7811-A-Better-Concatenate-Function.html) for the Excel community, I showed an improved version of the Excel Concatenate() function.  While writing that article I realized that no o…
As a person who answers a lot of questions, I often see code that could be simplified, made easier to read, and perhaps most importantly made easier to maintain if the code was modified to use the Select Case statement. This article explains how to…
Get people started with the process of using Access VBA to control Excel using automation, Microsoft Access can control other applications. An example is the ability to programmatically talk to Excel. Using automation, an Access application can laun…
Show developers how to use a criteria form to limit the data that appears on an Access report. It is a common requirement that users can specify the criteria for a report at runtime. The easiest way to accomplish this is using a criteria form that a…

607 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question