触发警报时播放声音

moo*_*e18 7 javascript

所以我在我的javascript中有一个if语句.当它返回true时,它会打开一个警告框并播放警报声.问题是,在我按下确定按钮之前,声音才会播放.

以下是相关信息:

  if (x > 10) {
        var snd = new Audio('/alarm.mp3');
        snd.play();
        alert("Thank you!");
    }
Run Code Online (Sandbox Code Playgroud)

理想情况下,我希望播放大约6秒钟的声音,直到它结束或直到用户从对话框中关闭.但是在关闭警报框之前真的让警报声响起就足够了.

Mix*_*ded 23

事先在html中预加载音频文件,如:

<audio id="xyz" src="whatever_you_want.mp3" preload="auto"></audio>

if(x > 10)
{
    document.getElementById('xyz').play();
    alert("Thank you!");
}
Run Code Online (Sandbox Code Playgroud)

这肯定会奏效.


Dav*_*son 8

对于快速而肮脏的蜂鸣声,您可以使用这款“蜂鸣”MP3。太糟糕了。

这是一个工作示例:

var mp3_url = 'https://media.geeksforgeeks.org/wp-content/uploads/20190531135120/beep.mp3';

(new Audio(mp3_url)).play()
Run Code Online (Sandbox Code Playgroud)

如果你想让它变得更加烦人(我需要一个伪寻呼机在预约空位打开时提醒自己),只需每秒重复一次嘟嘟声即可:

for (i=0; i<10; i++) {
  setTimeout(function(){(new Audio(mp3)).play()}, i * 1000)
}
Run Code Online (Sandbox Code Playgroud)

这真是太可怕了,比字幕更糟糕!如果您将“重复的嘟嘟声”代码片段放在真实的网页中,那么您就是一个坏人。不过作为一个黑客寻呼机效果很好。