移動端audio使用的一個注意事項


這幾天做移動端的音樂播放,果然是踩坑不斷呀!

其中一個就是,做好的播放功能,在pc上可用,在手機上的殼子瀏覽器可用,可偏偏在原生瀏覽器和chrome上不行。

折騰了好久(主要還是移動端的調試真心不方便呀),最終定位到問題是:

  移動端一個audio對象的第一次播放,必須是一個用戶觸發的行為。

至少在我目前4.3的三星s4的原生瀏覽器和chrome31上是這樣的,相信在以后的版本上也會是這樣。

所以對於異步獲取播放的資源鏈接再進行播放的實現,在這兩個瀏覽器上就會失效。

解決方法:

既然不能異步,最簡單的方法就是換成同步唄。當然,這對於項目來說是不現實的……

上面提到,這個限制對於同一個audio對象,只在其初次播放時需要用戶行為觸發,之后就可以隨心所欲的操作了。

所以我所用的方法就是:

全局使用同一個audio對象,並且在用戶第一次點播放的時候,在同步階段,用一個空的音樂(沒有聲音,播放時長1s)先進行播放,等獲取到異步結果后再進行src的替換就行了。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM