Windows Media Player can play a lot of file formats, but its just not beautiful style.
MCI can play a lot of file formats, you can even create a visualisation
by recording from WaveOut.
But when it comes to DSP, neither WMP nor MCI will give you any control over the data.
There are alternatives like BASS or FMOD, but they're not completely free.
So HOW does Winamp do that?
I've spent the last 5 months figuring that out , the result is pretty good.
Almost completely written in VB, just a few dependencies (lame ACM codec, lame_enc.dll, ogg.dll, vorbis.dll, vorbisfile.dll, MACDll.dll, WMF SDK/Runtime v9 ).
Features:
- decodes/plays WAV, MP3, OGG (Vorbis), WMA, APE, CDA
- encodes WAV, MP3, OGG (Vorbis), WMA, APE
- streaming playback with DirectSound 8
- DSP, analysis (comes with FFT and IIR filters)
- equalizer which theoretically supports up to 255 bands
- already implemented: IIR filters (low/high/bandpass, notch, peak eq, low/high shelve), FFT (+ windowing with Hanning/Hamming/Blackman windows)
- full ACM support
- CDA decoder supports ASPI, SPTI and IOCTLs
- system independent volume and pan settings (DirectSound)
- all decoders but WAV/CDA read tags
- comes with 4 examples:
1. player (plays all supported formats, playlist, 3 visualisations (time/frequency domain, dBFS display), 5 band graphic eq, effects (high/lowpass, flanger, echo), displays tags)
2. CD Ripper (grabs audio tracks, supports all encoders)
3. format transcoder (converts between all supported formats)
4. simple (simplest possible playback)
Readme is important!
If you have any problems, suggestions, comments, or any other feedback, please let me know!