線上服務咨詢
Article/文章
記錄成長點滴 分享您我感悟
微信小程序音頻內部音頻和背景音頻開發教程
用戶對小程序音頻功能有各種要求:如果你想靜靜地聽歌,即使你退出小程序,也不會被打斷;最好在系統播放面板上控制小程序音頻;當手機/鬧鐘振鈴時,小程序音頻最好知道時間。自動暫停.開發人員是否感到有點無助?那么如何開發微信小程序音頻呢?讓我們來看看慧??萍?a href=http://www.chuandiaimall.cn target=_blank class=infotextkey>微商城編制的官方內部音頻和背景音頻開發教程。
小程序支持播放和錄制音頻。 小程序有兩種播放音頻的方式:內部音頻和背景音頻。
1.內部音頻支持用戶在使用小程序;
的過程中播放聲音2.用戶離開小程序后,后臺音頻支持繼續播放聲音。
首先,播放音頻,背景音頻
01.播放背景音頻
背景音頻接口適用于音樂類小程序,如“音樂電臺”,“QQ音樂小電臺”。
全局唯一的后臺音頻管理器可通過wx.getBackgroundAudioManager()接口獲得,所有背景音頻操作均由它實現。
微信只有一個背景音頻。在小程序開始播放背景音頻后,它會保留背景音頻播放器。只要當前小程序保持背景音頻播放器,即使此小程序進入后臺(即用戶離開小程序),您也可以繼續使用背景。音頻接口,當前小程序不會被微信主動回收;一旦背景音頻播放器被搶占(可能是其他小程序,其他音樂在微信,其他App音樂),小程序不再保留背景音頻播放器。

▲(音樂電臺小程序)
02,在系統播放面板中顯示和控制
通過設置標題,專輯名稱,藝術家姓名,封面圖像和其他屬性,系統音樂播放器面板支持小程序音頻接口??梢酝ㄟ^響應系統面板中的單擊事件(onPrev,onNext)來實現列表回放。


▲(系統播放面板控制效果)
內部音頻
01,播放內部音頻
內部音頻可用于所有小程序,特別是對于游戲類別小程序,例如“跳一跳”。
可以通過wx.createInnerAudioContext()接口創建音頻實例。

每個小程序可以同時保持和播放多個內部音頻,但一旦小程序進入后臺(onHide),所有內部音頻將暫停,并且在用戶返回前景(即打開小程序)之前不會播放。
02,也可以在靜音下播放
在iOS中,內部音頻默認為靜音按鈕設置。如果要在靜音時播放,可以將obeyMuteSwitch設置為false。

Android沒有統一的靜音開關,目前不支持此功能。
03.處理音頻中斷事件
以游戲為例。在游戲中,通常存在播放內部音頻以播放游戲的背景音樂的場景。音頻中斷事件是指在游戲過程中系統中斷音頻時觸發的事件。音頻中斷事件分為中斷開始事件和中斷結束事件,分別使用wx.onAudioInterruptionBegin()和wx.onAudioInterruptionEnd()進行監視。
以下事件觸發音頻中斷啟動事件:從微信朋友接收呼叫,警報,警報和語音/視頻呼叫請求。中斷后,游戲中的所有音頻都將暫停,并且在中斷結束前不會再次播放。
中斷結束后,暫停的音頻不會自動恢復播放,游戲可以收聽音頻中斷結束事件,并在接收到中斷結束事件后調用背景音樂繼續播放。
如果游戲的邏輯強烈依賴于音樂的播放(例如音樂游戲),則需要在音頻開始中斷時暫停游戲。

(跳小游戲)
第二,錄制音頻
全局唯一的錄制管理器可通過wx.getRecorderManager界面獲得。

01.錄制時實現錄制
默認情況下,錄制完成后會生成本地文件,并且回調會返回本地文件的地址。對于具有較高實時要求的小程序(例如“面對面轉換”),可以通過設置frameSize參數來設置幀的大小,以便在記錄指定幀大小的內容后,數據這個片段將由onFrameRecorded回調返回。

注意:不建議使用歷史界面
以上接口可滿足所有音頻相關要求。除了上述接口外,小程序還有幾個與音頻相關的接口(如wx.startRecord,wx.playVoice,wx.playBackgroundAudio等)。由于這些界面存在一些缺點,建議不要繼續使用慧??萍?a href=http://www.chuandiaimall.cn target=_blank class=infotextkey>微商城。
微信,小程序,音頻,開發教程