在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');  
} 
+0

谢谢!我有一种感觉,它没有正确格式化。 –