点击按钮时发出哔哔声
好的,我在这里已经阅读了几个答案,但它们根本没有帮助我(事实上,它们都没有被接受作为答案)
问题是如何在“按钮点击”上“ 发出哔哔声 ”
我正在尝试建立一个适用于触摸屏设备的网站,所以我希望每个按钮点击事件都会发出哔声,对于使用该网站的用户来说应该更好。 哔声文件在这里: 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 ">
但它不起作用,单击按钮时没有任何反应。
这很好用
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); }
不确定实际需要多少嵌入标签,但一旦开始工作,我就停止写入(嵌入从另一个解决方案中复制)。
希望这有助于其他人(或在我下次忘记时帮助我)