使用jquery和HTML5音频标签切换音频源

我只找到了另一个解决方案,但它不完整,所以我需要帮助。

我有音频设置:

 

我有一个动态生成的链接表来更改轨道:

  

我有这个jquery,我不知道如何改变轨道

 $('.track').click(function(){ load_track = $(this).attr('data-location');//gets me the url of the new track change_track(load_track);// function to change the track of the loaded audio player without page refresh preferred... }); 

我找到了这个function,但我没有以正确的方式使用它

  function change_track(sourceUrl) { audio.empty(); $("#ogg_src").attr("src", sourceUrl).appendTo(audio); /****************/ audio[0].pause(); audio[0].load();//suspends and restores all audio element /****************/ } audio = $(" 

你的改变function应该是这样的:

 function change(sourceUrl) { var audio = $("#player"); $("#ogg_src").attr("src", sourceUrl); /****************/ audio[0].pause(); audio[0].load();//suspends and restores all audio element //audio[0].play(); changed based on Sprachprofi's comment below audio[0].oncanplaythrough = audio[0].play(); /****************/ } 

问题是audio.empty()和音频变量。 您试图附加一个清空的音频标签,并没有将音频标签写回浏览器。

您可能还想重命名该函数,因为’change’已经是jQuery Universe中的一个函数。