停止音频源并替换为另一个

Stop audio source and replace with another

本文关键字:替换 另一个 音频      更新时间:2023-09-26

我在HTML页面上有一个音频对象,根据用户输入,构建一个源对象并将其分配给音频对象。他们有控制权,一切都很好。我希望他们能够选择另一个文件,构建新的源元素,并将其替换为当前的源元素。然而,我似乎不知道如何杀死/删除/卸载活动的。

我当然可以暂停当前元素,并用我的新元素替换那个源元素,但这并没有起到作用。我需要销毁音频元素,然后构建一个新的吗?这里有一些片段(假设当调用它来加载新的源时,总是有一个源元素,我已经验证了mp3等):

var aElems = document.getElementsByTagName("audio");
var source = document.createElement('source');
source.type= 'audio/mpeg';
source.src= 'podcast-'+pnpad+'.mp3';
aElems[0].pause();
var sElems = aElems[0].getElementsByTagName('source');
aElems[0].replaceChild(source, sElems[0]);
alert(aElems[0].innerHTML); // shows only the new child as expected

感谢您的意见。

我只是添加了

aElems[0].load()

之后

aElems[0].replaceChild(source, sElems[0]);

并且它加载新的源。总是那些容易的人会抓住你,对吧?