gpt4 book ai didi

javascript - 带有 .play() 的动态声音文件

转载 作者:行者123 更新时间:2023-11-28 02:15:08 25 4
gpt4 key购买 nike

我正在创建的代码是一个函数,它应该具有 .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] has no method play 的错误。

任何建议,因为这是第一次尝试动态创建音频文件并使用函数来播放它。我看过其他一些 SO 主题,但它们似乎没有引导我走向正确的方向。谢谢

最佳答案

我的猜测是您在页面加载后定义 playSound 方法,也许在某个 onload 方法中。如果是这种情况,请尝试将该方法附加到 window 对象:

window.playSound = function() {
document.getElementById('newMessage').play();
}

这使得该函数可用,即使该函数是在页面加载后定义的。另外,您不应该将自动播放设置为 false。它默认为 false,如果您想将其设置为 true,请设置 autoplay="autoplay"

JSFiddle

关于javascript - 带有 .play() 的动态声音文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16511055/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com