多个html5音频元素jquery错误
问题描述:
我写了一些jquery代码,当单击多个音频元素的div时播放声音。该代码似乎工作(可能不是最复杂的方式),但我在控制台中出现以下错误。多个html5音频元素jquery错误
“app.js:152未捕获(承诺)DOMException:play()请求被新的加载请求中断。”
我只是想知道这可能会导致什么潜在的问题,以及如何摆脱这个错误的任何指针?
JS
$('.speaker').on("click", function() {
var speakertriggered = $(this);
var speakerdata = speakertriggered.data('speaker');
var audioelement = $('#' + speakerdata);
var getaudio = $(audioelement)[0];
$(speakertriggered).addClass('speakerplay');
getaudio.load();
getaudio.play();
$(audioelement).on('ended', function() {
$(speakertriggered).removeClass('speakerplay');
});
});
HTML
<div class="speaker" data-speaker="left-player"></div>
<audio id="left-player">
<source src="assets/sounds/left.mp3" type="audio/mp3" />
<source src="assets/sounds/left.mp3" type="audio/ogg" />
</audio>
<div class="speaker" data-speaker="right-player"></div>
<audio id="right-player">
<source src="assets/sounds/right.mp3" type="audio/mp3" />
<source src="assets/sounds/right.mp3" type="audio/ogg" />
</audio>
答
呼叫.pause()
调用和.play()
之前,请参阅dynamically changing video gives the play() request was interrupted by a new load request