Search code examples
multithreadingwinapiaudiomp3mcisendstring

is there any better way to play Mp3 than mciSendString?


is there any better way to play Mp3 than mciSendString? mciSendString sucks, and hard to use in muilti-thread, eg.hard to get the current PlayingState


Solution

  • I'd suggest DirectShow or Windows Media Foundation, since both have flexible APIs for file based playback (you won't have to deal with reading the file and understanding the format, looking up codecs etc.) and still expose playback control. See these articles:

    1. DirectShow and IGraphBuilder (very simple and straightforward) - How To Play a File
    2. How to Play Media Files with Media Foundation
    3. Link to example from the first link