我有一个代码,可以在鼠标移动时播放音频。现在,它只有一个声音用于左,另一个声音用于右。但是当我每次鼠标移动时使用随机方法从数组中使用不同的声音时,音频不会播放。 基本上,我将音频的属性设置为新的声音文件索引src,但是Chrome无法播放音频。
这是演示链接: http://angeloplessas.com/flame/6/index5.html
这是链接,用于处理左右两侧的每个声音 http://angeloplessas.com/flame/6/index2.html
function getRandomSound() {
var sounds = ["sound/New/new3.mp3", "sound/New/new4.mp3", "sound/New/new5.mp3", "sound/New/new6.mp3", "sound/New/new7.mp3", "sound/New/new8.mp3", "sound/New/new9.mp3", "sound/New/new10.mp3", "sound/left.mp3", "sound/right.mp3"];
var indexLeft = Math.floor(Math.random() * (sounds.length));
var indexRight = Math.floor(Math.random() * (sounds.length));
var audioElementLeft = document.getElementById('left-audio');
audioElementLeft.setAttribute('src', sounds[indexLeft]);
var audioElementRight = document.getElementById('right-audio');
audioElementRight.setAttribute('src', sounds[indexRight]);
}
我在鼠标移动功能中使用了getRandomSound()
。
我收到一个Uncaught (in promise) DOMException
错误
预期结果应该是音频应在左右扬声器上播放。
答案 0 :(得分:1)
在不同情况下,您可能会遇到Uncaught (in promise) DOMException
错误,
audio.oncanplaythrough
事件播放该声音autoplay
属性(https://developer.mozilla.org/en-US/docs/Web/HTML/Element/audio#Attributes)以自动开始播放声音