小程序 - 音頻能力介紹(四)


小程序支持播放和錄制音頻。小程序播放音頻的方式有兩種:內部音頻和背景音頻。
1.內部音頻支持用戶在使用小程序過程中播放音效;
2.背景音頻支持在用戶離開小程序后繼續播放音效。

 

BackgroundAudioManager wx.getBackgroundAudioManager()

 

獲取全局唯一的背景音頻管理器。 小程序切入后台,如果音頻處於播放狀態,可以繼續播放。但是后台狀態不能通過調用API操縱音頻的播放狀態。

從微信客戶端6.7.2版本開始,若需要在小程序切后台后繼續播放音頻,需要在 app.json 中配置 requiredBackgroundModes 屬性。開發版和體驗版上可以直接生效,正式版還需通過審核。

 

(二)內部音頻

InnerAudioContext wx.createInnerAudioContext()

基礎庫 1.6.0 開始支持,低版本需做兼容處理

創建內部 audio 上下文 InnerAudioContext 對象。

 

 

處理音頻中斷事件

以游戲為例,在游戲中,經常有播放使用內部音頻來播放游戲背景音樂的場景。音頻中斷事件指的是在游戲期間,音頻被系統打斷時觸發的事件。音頻中斷事件分為中斷開始和中斷結束事件,分別使用 wx.onAudioInterruptionBegin() 和 wx.onAudioInterruptionEnd() 來監聽。

以下事件會觸發音頻中斷開始事件:接到電話、鬧鍾響起、系統提醒、收到微信好友的語音/視頻通話請求。被中斷之后,小游戲內所有音頻會被暫停,並在中斷結束之前都不能再播放成功。

中斷結束之后,被暫停的音頻不會自動繼續播放,游戲可監聽音頻中斷結束事件,並在收到中斷結束事件之后調用背景音樂繼續播放。

如果游戲的邏輯強依賴音樂的播放(如音樂類游戲),需要在音頻開始中斷的時候暫停游戲

 


免責聲明!

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



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