audio.play () no es una función.

Estoy haciendo este Javascript (vanilla JS) desafío de 30 días porhttp://wesbos.com. y estoy tratando de no mirar el código de referencia para el primer desafío.

De cualquier manera, estoy tratando de hacer que este código funcione, pero finalmente aparece este error: "TypeError no capturado: audElem.play no es una función "

Este es mi código:

function functionA( item){

  //  alert("HEYYY")
  item.classList.add("playing");

  var audElem= item.getElementsByTagName('audio') [0].getElementsByTagName('source')[0];

  var song= audElem.getAttribute('src');
  song.currentTime=0;
  song.play();
}

Y esta es la parte html:

<li class="flex-item " > A  

  <span class="flex-SubItem"> <br />  BOOM </span> 

  <audio id="boom" >
   <source src="sound-effects/boom.mp3" type="audio/mpeg">
  </audio>
</li>

Traté de resolverlo pero nada. No tengo a nadie que preguntar, excepto ustedes. Espero obtener respuestas. Gracias de todas maneras :)

Respuestas a la pregunta(3)

Su respuesta a la pregunta