Here's my code:
<audio controls preload="auto">
<source src="audio/batcat.mp3" />
Your browser doesn't play MP3s. <a href="audio/batcat.mp3">Download the audio instead.</a>
</audio>
In Chrome & IE9, the browser displays the native audio player.
In Firefox, I would expect it to show the fallback text and the link. Instead, it shows an ugly grey box with an X in the middle and doesn't show the fallback content.
Is this a Firefox bug, or am I doing something wrong?
Are browser makers actually saying include every possible format, or don't use the element at all. That seems a bit harsh.
EDIT The answer to the above question is "yes" apparently. All I can say to that is :(
Firefox should indeed fallback to the link to the audio file as you've said. It goes through the source list and if it can't find one it is able to play, it should move on.
Perhaps try adding the type aatribute to the source declaration to help the browser decide it won't be able to play it?
Also if you had a sample page so we could see it in action (or not as the case may be!) that would be helpful.
edit I've tested it myself and indeed you are correct, it simply doesn't work. How strange, I would have expected it to. The only way to get it to work was by adding a source with an OGG file which it can play.
I suggest you use something like Modernizr to check if it can play MP3s or not.