我正在写一个 html 页面。我希望它在运行时发出一些 javascript 指定的声音。
在 html 中,按照我在这里阅读的答案中的建议,我有一行
<embed src="wavs/beep.wav" autostart="true" width="0" height="0" id="beep"
enablejavascript="true">
这会在加载时播放声音,因此我确信我已经提供了有效 .wav 文件的有效路径。 (一旦一切正常,我会将自动启动设置为 false。)
我有一个函数
function playSound ( soundname )
{
var thissound = document.getElementById( soundname );
thissound.Play();
alert( "Played " + soundname );
}
我称之为使用
playSound( "beep" );
但是当发出该调用时,虽然出现警报,但没有声音。在我看来,好像我正在按照推荐的方式做所有事情,但我一定是出了什么问题。接下来我应该检查什么?
最佳答案
使用原生 HTML5 音频 API
在 Chrome 的控制台中,尝试创建音频元素的新实例,传入要缓冲的声音路径。例如,如果我们想要打字机的声音,我们可以这样做:
const typeWriter = new Audio("https://www.freesound.org/data/previews/256/256458_4772965-lq.mp3");
注意:为了缓冲这种确切的声音并避免 CSRF 问题,您必须在 www.freesound.org 的控制台中工作
typeWriter
现在代表一个 html 音频标签。
尝试通过设置 typeWriter.loop = true
来制作声音循环
最后,使用 typeWriter.play()
& typeWriter.pause()
播放/暂停声音
关于javascript - 从 javascript 在浏览器 (Chrome) 中播放声音,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18739888/