MP3 Support in FLAC Player / Windows Phone

Yes, MP3 files are supported, and no, it's not straightforward. Read on for an explanation, or skip directly to the instructions.

Why

Basically Microsoft made sure that files accessible by the music (or picture) library are not accessible by apps, and vice versa. Hence apps are not allowed to see the Music folder on the SD card, nor any files with .mp3 extension.

Jenny: I have just copied some music files to the Music folder. Let my app give them a go.
App: Hey system, what's in that Music folder?
OS: Dear app, you must be mistaken. There is no Music folder around here.

Jenny: OK, I created a new folder MP3s and moved the files there. Better?
App: Hey system, what's in the MP3s folder?
OS: Oh my. Yes, I see a folder with that name but there's nothing in there, it's empty.

Jenny: But I know that there is song.mp3 inside.
App: Hey system, I would love to access MP3s\song.mp3 file. Can I?
OS: No, no, no, no such file exists. I am so sorry.

It's not just .mp3 files, other audio and image files are hidden as well. If interested, here is an official list of inaccessible extensions.

Now, there are still two ways for apps to access music files stored on the SD card. One of them is through the Media Library.

App: Hey, Library, are there any music files you may know of?
Media Library: Sure, for example this song.mp3 my friend OS told me about.
App: Lovely, will you play that file for me?
Media Library: Sure, here you go.
App: And would you possibly let me access that file, or the audio stream as you play it?
Media Library: No, sorry. Music is my job. Not yours.

There are several apps in the store doing just that, letting you to access the library through them. But no added functionality (equalizer, folder browsing) is possible.

The second way of accessing music files is by tricking the OS into not caring about them. Which means renaming. Bummer.

App: Hey system, I would love to access MP3s\song.mpeg3 file. Can I?
OS: No problem, enjoy. I have no use for .mpeg3 files.
Jenny: This sucks.

How

As explained above, apps cannot not directly access mp3 files stored on a SD card unless the files are renamed. If you want to give it a try, here is a relatively easy way of doing it in bulk. But note that the files won't then be visible to the Music Library nor to other apps (unless they recognise the .mpeg3 extension).

  1. On your computer, create a temporary folder with all the mp3 files you want to copy to the phone. For example MP3s folder on the desktop.
  2. Open the folder in an explorer window.
  3. Click into the address bar past the list of subdirectories.
  4. Completely replace the path with the following command and press Enter.
    cmd /c for /R %x in (*.mp3) do ren "%x" *.mpeg3
  5. A console window will pop up and recursively rename all .mp3 files to .mpeg3. Wait for it to finish.
  6. Verify that the files in subfolders now have .mpeg3 file type.
  7. Copy the content of the temporary folder to the phone's SD card.
  8. Remove the temporary folder, or rename the files back to .mp3 with the following command
    cmd /c for /R %x in (*.mpeg3) do ren "%x" *.mp3
FLAC Player will see and play the .mpeg3 files.