我正在创建的代码是一个函数,它应该具有函数.play()它...这里是代码
function playSound() {
document.getElementById('newMessage').play();
}
var sound = document.createElement('audio');
sound.setAttribute("src","http://www.soundjay.com/button/beep-2.wav");
sound.id="newMessage";
sound.setAttribute('autoplay','false');
document.body.appendChild(sound);
虽然每次在控制台中尝试playSound();
时都会说playSound未定义。那么我尝试document.getElementById('newMessage').play();
并且它也不会播放,也不会播放$('#newMessage')。play();带有对象错误的对象[object Object]没有方法播放。
任何建议,因为这是第一次尝试动态创建音频文件并使用函数来播放它。我已经看过其他一些SO主题了,他们似乎并没有引导我朝着正确的方向前进。感谢
答案 0 :(得分:1)
我的猜测是,您已经在页面加载后定义了playSound
方法,可能采用了某种onload
方法。如果是这种情况,请尝试将方法附加到window
对象:
window.playSound = function() {
document.getElementById('newMessage').play();
}
即使在页面加载后定义了该功能,也可以使该功能可用。此外,您不应将自动播放设置为false。它默认为false,如果要将其设置为true,则设置autoplay="autoplay"
。