2016-06-07 195 views
0

我試圖在JQuery移動設備上啓動touchstart功能時播放聲音。我會如何去做這件事?下面的代碼不會在移動瀏覽器中播放音頻元素,但可以在桌面瀏覽器上正常播放。萬分感謝!在touchstart上播放音頻

var audioElement = document.createElement('audio'); 
audioElement.setAttribute('src', 'DING.mp3'); 

$("#LNum").bind("touchstart", function() { 
    audioElement.play(); 
} 

回答

0

你想在<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

謝謝!我有一種感覺,它沒有正確格式化。 –