在touchstart上播放音频
问题描述:
我试图在JQuery移动设备上启动touchstart功能时播放声音。我会如何去做这件事?下面的代码不会在移动浏览器中播放音频元素,但可以在桌面浏览器上正常播放。万分感谢!在touchstart上播放音频
var audioElement = document.createElement('audio');
audioElement.setAttribute('src', 'DING.mp3');
$("#LNum").bind("touchstart", function() {
audioElement.play();
}
答
你想在<audio>
标签,而不是<source>
添加src属性。
<audio controls>
<source src="ding.ogg" type="audio/ogg">
<source src="ding.mp3" type="audio/mpeg">
Your browser does not support the audio tag.
</audio>
你需要在你audioElement
内创建一个source
元素。 ,然后将src
属性应用于源标记。
我用以下解决方案
HTML
<audio class="my_audio" controls preload="none" style="display: none" id="audioControl">
<source class="notificationTone" type="audio/mpeg">
</audio>
JS
$("#LNum").bind("touchstart click tap", function() {
$(".notificationTone").attr('src', "somemp3.mp3");
$(".my_audio").trigger('load');
$(".my_audio").trigger('play');
}
谢谢!我有一种感觉,它没有正确格式化。 –