点击按钮时发出哔哔声

好的,我在这里已经阅读了几个答案,但它们根本没有帮助我(事实上,它们都没有被接受作为答案)

问题是如何在“按钮点击” 发出哔哔声

我正在尝试建立一个适用于触摸屏设备的网站,所以我希望每个按钮点击事件都会发出哔声,对于使用该网站的用户来说应该更好。 哔声文件在这里: http : //www.soundjay.com/button/beep-07.wav 。 我只需要在谷歌浏览器上做这项工作(支持HTML5)

我理解这需要在客户端工作所以我试过这个:

使用Javascript:

 function PlaySound(soundObj) { var sound = document.getElementById(soundObj); sound.Play(); }  

HTML

  <asp:LinkButton ID="lbtnExit" runat="server" OnClick="lbtnExit_Click" OnClientClick="PlaySound('beep')" CssClass="btn btn-lg btn-danger" Text="Exit "> 

但它不起作用,单击按钮时没有任何反应。

你可以使用这样的音频标签:

    Play  

这是一个Plunker

这很好用

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

使用原始JavaScript,您只需调用:

 new Audio('sound.wav').play() 

简单的方法(没有HTML)

 var audio = new Audio('audio.mp3'); // define your audio $('.btn').click( audio.play ); // that will do the trick !! 

限制

但是,您会注意到,如果您尝试轻松点击一个.btn ,播放器将不会发出与点击一样多的声音(所有其他解决方案也是如此)。 这是因为播放器需要等待音频结束才能再次播放。 要摆脱这个,这是我发现的唯一解决方案:

 // array with as much same sounds as needed // the more in the array, the faster you can retrigger the click var audio = [new Audio('audio.mp3'), new Audio('audio.mp3')]; var soundNb = 0; $('.btn').click( function() { audio[ soundNb % audio.length ].play(); // soundNb++; // next sample } 

一直让我发疯,但是使用JQuery我找到了一个解决方案……不是最好的方法,但它对我有用…

 function ding() { $("body").append(''); setTimeout(function(){ $("#beep").remove(); },2000); } 

不确定实际需要多少嵌入标签,但一旦开始工作,我就停止写入(嵌入从另一个解决方案中复制)。

希望这有助于其他人(或在我下次忘记时帮助我)