Ya hice varias pruebas, y encontré un detalle peculiar. Si lo hago directo de Audio:
Código HTML:
<audio id="audio" src="album/track02.m4a" controls="controls"></audio>
Funciona perfectamente. Sin embargo, si lo hago a través de Source como lo hiciste en tu ejemplo:
Código HTML:
<audio controls="controls">
<source id="audio" src="album/track02.m4a" />
</audio>
No me funciona, y la consola de Javascript no me da ningún error para ver que se puede hacer al respecto. Por tanto, debes de hacerlo como en el primer ejemplo, con el atributo src directo en la etiqueta Audio.
Mucha suerte