靜音下播放如何實現
在系統播放面板顯示和控制
通過設置標題、專輯名、歌手名、封面圖等屬性,小程序音頻接口支持在系統音樂播放面板顯示出來。通過響應系統面板的點擊事件( onPrev , onNext ),可以實現列表播放。
他小程序、微信內其他音樂、其他 App 的音樂),則小程序不再持有背景音頻播放器。
2播放內部音頻
內部音頻適用于所有小程序,尤其是游戲類目的小程序,如“跳一跳”。
通過 wx.createInnerAudioContext() 接口可以創建一個音頻實例
每個小程序可以同時持有和播放多個內部音頻,但一旦小程序進入后臺(onHide),所有內部音頻都會被暫停,且在用戶回到前臺(即打開小程序)之前無法再被播放。
靜音下也能播放
在 iOS 系統中,內部音頻默認遵循靜音鍵設置。如果希望在靜音時也能播放,可以設置 obeyMuteSwitch 為 false 。
安卓系統沒有統一的靜音開關,暫不支持此特性。
3處理音頻中斷事件
以游戲為例,在游戲中,經常有播放使用內部音頻來播放游戲背景音樂的場景。音頻中斷事件指的是在游戲期間,音頻被系統打斷時觸發的事件。音頻中斷事件分為中斷開始和中斷結束事件,分別使用 wx.onAudioInterruptionBegin() 和 wx.onAudioInterruptionEnd() 來監聽。
以下事件會觸發音頻中斷開始事件:接到電話、鬧鐘響起、系統提醒、收到微信好友的語音/視頻通話請求。被中斷之后,小游戲內所有音頻會被暫停,并在中斷結束之前都不能再播放成功。
中斷結束之后,被暫停的音頻不會自動繼續播放,游戲可監聽音頻中斷結束事件,并在收到中斷結束事件之后調用背景音樂繼續播放。
如果游戲的邏輯強依賴音樂的播放(如音樂類游戲),需要在音頻開始中斷的時候暫停游戲。
- 第 1 頁【小程序開發】小程序播放音頻的實現方式
- 第 2 頁【小程序播放音頻】 靜音下播放如何實現