Windows includes an MP3 decoder that developers can use license free with 16 lines of code (in attachment). The code very simply reads an MP3 file and plays it using built in Windows MP3 decoder component in DirectShow.
This article is a good start on accessing the memory buffer after the MP3 file has been decoded. Combine the simple MP3 player code with info in the article and provide one function:
Mp3ToWav(char *mp3filename, char *wavbuf, int *wavlen)
Given an mp3 filename, return a decoded wave buf (raw 16 bit samples) and the wavlen. Only 44k, 16bit stereo and mono files need be supported.
Here's the article on accessing the memory buf:
<[login to view URL]>
Attached is the simplest code to play an MP3 file in Windows (its a bit strange, but its just accessing the Windows component)
To compile you need DirectShow SDK or I can give you a zip of minimum files needed to compile this (the DirectShow include file and lib)
Only Windows code that uses this built in MP3 decoder (in DirectShow/MediaPlayer) can be distributed license free, so please don't tell me you know how to do this using madlib or mpglib - I know all about them. I must use Directx for free licensing reasons.
## Deliverables
VC6 C/C++ Project with source that compiles and runs demonstrating ability to access the wav buf. Read an MP3 file and write a Wav file using DirectShow native Windows calls.
1) Complete and fully-functional working program(s) in executable form as well as complete source code of all work done.
2) Deliverables must be in ready-to-run condition, as follows (depending on the nature of the deliverables):
a) For web sites or other server-side deliverables intended to only ever exist in one place in the Buyer's environment--Deliverables must be installed by the Seller in ready-to-run condition in the Buyer's environment.
b) For all others including desktop software or software the buyer intends to distribute: A software installation package that will install the software in ready-to-run condition on the platform(s) specified in this bid request.
3) All deliverables will be considered "work made for hire" under U.S. Copyright law. Buyer will receive exclusive and complete copyrights to all work purchased. (No GPL, GNU, 3rd party components, etc. unless all copyright ramifications are explained AND AGREED TO by the buyer on the site per the coder's Seller Legal Agreement).
## Platform
Windows 2000, XP, Vista written in C - no .NET