2013-07-26 104 views
0

我在我的HTML頁面中使用了聲音,並編寫了JavaScript函數在特定時間播放。問題是,當我在PC中加載頁面時,它運行良好,但在移動設備上,聲音無法播放。哪裏不對?聲音不能在手機上播放

<audio id="buzzer" controls="controls"> 
<source src="assets/sound/buzzer.mp3" type="audio/mpeg" /> 
function PlaySound1() { 
    var audioElement = document.getElementById('buzzer'); 
    audioElement.setAttribute("preload", "auto"); 
    audioElement.autobuffer = true; 

    var source1 = document.createElement('source'); 
    source1.type= 'audio/mpeg'; 
    source1.src= 'buzzer.mp3'; 
    audioElement.appendChild(source1); 

    audioElement.load(); 
    audioElement.play(); 
}; 
+0

你是什麼意思的手機? iPhone,Android,Blackberry等?哪個瀏覽器? –

+0

android和iphone –

+0

移動音頻需要用戶交互才能啓動。什麼叫PlaySound1? –

回答

0

您可以嘗試UbaPlayer,它配備了閃光燈後備舊版本瀏覽器。 (從HTML5 Doctor: HTML5 Audio – The State of Play

Mobile Browser        Version   Codec Support 
Opera Mobile        11.0+   Device-dependent 
Android          2.3+   Device-dependent 
Mobile Safari (iPhone, iPad, iPod Touch) iOS 3.0+  MP3, AAC 
Blackberry         6.0+   MP3, AAC 
+0

有用的文章,因爲我發現它取決於操作系統和瀏覽器,但無論如何要在所有這些文章上播放? –

+0

我會給UbaPlayer一個鏡頭。 – estrar

+0

我看到了鏈接,但不明白如何使用它,你能告訴我更多嗎? –

0

支持表你檢查出的瀏覽器支持http://www.w3schools.com/html/html5_audio.asp

+0

中查看演示,那麼該怎麼做?我如何在每個瀏覽器上播放它?可能嗎? –

+0

看看這個問題[http://stackoverflow.com/questions/17791602/sound-notifications-in-opera/17798990#17798990](http://stackoverflow.com/questions/17791602/sound-notifications-in-opera/17798990#17798990) – DejanG

1

大多數手機瀏覽器需要直接,物理相互作用開始音頻播放表。這意味着您無法在網頁加載或任何異步功能(如setTimeout)中觸發初始播放。