As we begin to code our MP3 player in C# we have had success and some downfalls. We are using SOX as a way to convert files and to obtain the wave form. This has been really helpful. We have run into error with a pause button. On our virtual MP3 player you can choose a song you want and play it, but you are unable to pause it. What we are using currently does not support a pause button, so we continue to look for a solution.
SoX, or the Swiss Army knife of sound processing programs, is "a cross-platform command line utility that can convert various formats of computer audio files in to other formats."
SoX can also...
We'll be using the Windows version.