我希望能夠使用JavaScript和HTML5元素從回調函數播放音頻文件。從我閱讀的內容來看,大多數移動設備播放HTML5音頻的唯一方式是通過用戶交互(即按鈕點擊等)。從回撥的移動設備播放HTML5音頻
我的方案略有不同。按鈕單擊事件使用回調函數進行ajax調用,並根據返回的結果播放不同的聲音。這在桌面瀏覽器上運行良好,但是Android和iPad似乎都不支持這一點。
有誰知道任何解決方法嗎?展示對象如何音頻被初始化等
示例代碼:
var sound = new Audio('Sample.wav');
var sound2 = new Audio('Sample2.wav');
/// Button events etc here, stock standard stuff
function MyCallBack(e)
{
if(e.someValue)
sound.play();
else
sound2.play();
}
編輯: 我使用概述如下類似的解決方案解決了這個問題。在我玩過的用戶事件中,立即暫停了聲音。一旦回調回來後,我重新開始打起了適當的聲音
hit.play(); hit.pause(); fail.play(); fail.pause();
這似乎是一個不錯的主意。移動設備中「play」限制的主要原因是爲了防止不必要的*加載佔用數據配額的文件。如果您可以通過用戶操作觸發一次「播放」,只要您不更改源,您可以在程序中自由重新播放它。 – apsillers 2013-06-25 17:06:28
嗨,我授予這個答案,因爲我已經解決了這個問題。在用戶活動中,我玩過並立即暫停了可能播放的不同聲音,並在回調回復時恢復了合適的聲音 – link64 2013-07-25 23:19:03