High-level media foundation questions RRS feed

  • Question

  • I'm an "enterprise" developer who deals mainly in managed code and scripted languages, but occasionally branch out for the sake of friends.  Most recently I've been asked to come up with an industry-specific media player and am evaluating what's out there before I start building anything.

    The draw to MF development was the ability to alter pitch & tempo (hopefully in combination), which I haven't found any source/SDKs/APIs for in WMP or iTunes.  But, it's hard to hit the ground running with this since information is just as sparse as SharePoint info was when I started with it 6 years ago.

    I have the Windows 7 SDK and am looking through the samples/multimedia/mediafoundation folder but...

    1) Is this viable, or is it a try-and-die technology?  Every big software company throws something out there to see if it sticks, but there is NOTHING on Codeplex for Media Foundation.  No project, no tag in the tag cloud, nothing.  That tells me that not even the MS people support this.

    2) What's the connection between unmanaged and managed code?  There's a few (loosely answered) topics on C# to unmanaged and that has me worried.  I get excited about what's under the hood, but the end user only cares that the pedals and steering wheel do what they're supposed to do.  I don't calculate RPMs; I translate steering wheel turn into power steering commands and acceleration pedal pressure into throttle control units.  I'm just here to make an appropriate interface, not reinvent the wheel.

    3) If not this, what should I look for, even if it's not Microsoft?  I live in the real world where people MIGHT download m4a's from iTunes.

    Saturday, August 21, 2010 9:31 PM

All replies

  • Media Foundation can handle different playback rates (tempo) but there is no prebuilt component to alter pitch.  Unless, that is, you are looking for pitch correction at higher rates -- chipmunk voice correction, so to speak -- which Media Foundation does by default.  If you want to arbitrarily modify the pitch of audio, you will need to build a custom Media Foundation transform.

    1) Media Foundation is the new multimedia API for Windows Vista onward.  No further development work is being done on DirectShow or previous multimedia APIs.  Since it is new and not available on Windows XP, you will not find as many examples out there as for older multimedia APIs.

    2) There is no official projection of the Media Foundation API into managed code.  Media Foundation .NET, which occassionally gets linked from this forum, has been used successfully by some to write a managed Media Foundation application.  There are also higher level managed components, like System.Windows.Controls.MediaElement, that use Media Foundation under the hood.

    3) If you just want a media player without getting into gritty details, System.Windows.Controls.MediaElement is probably a good choice.  I do not really know enough about third party multimedia APIs to suggest any.

    Thursday, September 9, 2010 12:43 AM