audio.play () não é uma função.

Estou fazendo esse desafio de 30 dias em Javascript (vanilla JS) porhttp://wesbos.com. e estou tentando não olhar o código de referência para o primeiro desafio.

De qualquer forma, estou tentando fazer esse código funcionar, mas eventualmente recebo este erro: "TypeError não capturado: audElem.play não é uma função "

Este é o meu 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();
}

E esta é a 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>

Eu tentei descobrir, mas nada. Não tenho ninguém para perguntar além de vocês. Espero obter respostas. agradeço de qualquer maneira :)

questionAnswers(3)

yourAnswerToTheQuestion