2013-12-23 85 views
1

我在Android Browser中遇到了一些HTML5音頻問題。 我需要播放相同的聲音,9次。第一次播放它時效果很好,因爲有9個聲音對象。它可能並不理想,但它起作用......至少我認爲它的確如此。在Android手機瀏覽器中播放聲音

這是我要做的事:

var setSounds = function(){ 
    Sounds[0] = new x.Sound(); 
}; 

然後我彈奏的聲音是這樣的:

 Sounds[0].play(); 

我曾嘗試以下

 Sounds.[0].pause(); 
     Sounds.[0].play(); 

 Sound.[0].currentTime = 0; 

我有更多的聲音,那麼這只是而是給你一個想法。它第一次正確播放所有的聲音,但第二次我想播放所有的聲音,它的沉默。這個問題只發生在Android瀏覽器中。

播放所有9聲音對象首次 - 完美

再次重播9聲音對象 - 無聲

我怎麼能再次發揮我的聲音的對象?任何建議或解決方案是受歡迎的

+1

你嘗試做這樣的事情尋求(0)之前將您的來電打()?我不確定這是否相當於設置currentTime = 0。另外,你可以重複嗎?這有幫助嗎? – Matt

+0

馬特 - 感謝您的回覆。我現在嘗試seek(),並且沒有改變。我無法使用重複功能,因爲這些聲音是在用戶頭像上播放的。我有9個盒子,我希望用戶點擊它們,但在前9個聲音和第2個9聲音之間可以是30秒或2分鐘。 –

+0

嘗試在每次點擊後重新初始化所有聲音?在調用聲音[i] .play之後,再次調用setSounds()?這有點浪費,但只要setSounds速度快,應該工作... – Matt

回答

1

最簡單的解決方法是在聲音播放後重新初始化聲音。

調用sound [0] .play(),然後調用setSounds()。如果你擔心在重新創建所有的聲音的開銷,你可以只是重新初始化一個聲音:

Sounds[0].play(); 
Sounds[0] = new x.Sound(); 
+0

謝謝,我會接受這個答案。它可能不是我的最佳選擇,但它解決了這個問題。非常感謝 –

相關問題