久久精品国产亚洲一区二区,好爽…又高潮了毛片,久久zyz资源站无码中文动漫,久久精品麻豆日日躁夜夜躁,精品一区二区三区在线成人

銷客多
你所在的位置: 銷客多 > 小程序 > 小程序新聞 >

微信小程序音頻內(nèi)部音頻和背景音頻開(kāi)發(fā)教程

日期:2025年08月22日 10:08:47閱讀量:

用戶對(duì)小程序音頻能力各種要求:想安靜聽(tīng)歌,即使退出小程序也不會(huì)被中斷;最好還能在系統(tǒng)播放面板上控制小程序音頻;電話/鬧鐘響起時(shí),小程序音頻最好“識(shí)時(shí)務(wù)”自動(dòng)暫停……開(kāi)發(fā)者們是否感到有點(diǎn)束手無(wú)措?那么微信小程序音頻怎么開(kāi)發(fā)?一起來(lái)看看銷客多微商城小編整理的官方內(nèi)部音頻和背景音頻開(kāi)發(fā)教程。

小程序支持播放和錄制音頻。小程序播放音頻的方式有兩種:內(nèi)部音頻和背景音頻。

1、內(nèi)部音頻支持用戶在使用小程序過(guò)程中播放音效;

2、背景音頻支持在用戶離開(kāi)小程序后繼續(xù)播放音效。

一、播放音頻、背景音頻

01、播放背景音頻

背景音頻接口適用于音樂(lè)類小程序,如“音樂(lè)站”、“QQ音樂(lè)小電臺(tái)”。

通過(guò)wx.getBackgroundAudioManager() 接口可以獲取全局唯一的背景音頻管理器,所有關(guān)于背景音頻的操作都由它來(lái)實(shí)現(xiàn)。

微信內(nèi)只有一個(gè)背景音頻,一個(gè)小程序開(kāi)始播放背景音頻之后,就持有背景音頻播放器,只要當(dāng)前小程序持有背景音頻播放器,即使這個(gè)小程序進(jìn)入后臺(tái)(即用戶離開(kāi)小程序),也可以繼續(xù)使用背景音頻接口,且當(dāng)前小程序不會(huì)被微信主動(dòng)回收;一旦背景音頻播放器被搶占(可能是其他小程序、微信內(nèi)其他音樂(lè)、其他App的音樂(lè)),則小程序不再持有背景音頻播放器。

 

微信小程序音頻內(nèi)部音頻和背景音頻開(kāi)發(fā)教程

▲(音樂(lè)站小程序)

02、在系統(tǒng)播放面板顯示和控制

通過(guò)設(shè)置標(biāo)題、專輯名、歌手名、封面圖等屬性,小程序音頻接口支持在系統(tǒng)音樂(lè)播放面板顯示出來(lái)。通過(guò)響應(yīng)系統(tǒng)面板的點(diǎn)擊事件( onPrev , onNext ),可以實(shí)現(xiàn)列表播放。

 

微信小程序音頻內(nèi)部音頻和背景音頻開(kāi)發(fā)教程

 

微信小程序音頻內(nèi)部音頻和背景音頻開(kāi)發(fā)教程

▲(系統(tǒng)播放面板控制效果)

內(nèi)部音頻

01、播放內(nèi)部音頻

內(nèi)部音頻適用于所有小程序,尤其是游戲類目的小程序,如“跳一跳”。

通過(guò) wx.createInnerAudioContext() 接口可以創(chuàng)建一個(gè)音頻實(shí)例。

 

微信小程序音頻內(nèi)部音頻和背景音頻開(kāi)發(fā)教程

每個(gè)小程序可以同時(shí)持有和播放多個(gè)內(nèi)部音頻,但一旦小程序進(jìn)入后臺(tái)(onHide),所有內(nèi)部音頻都會(huì)被暫停,且在用戶回到前臺(tái)(即打開(kāi)小程序)之前無(wú)法再被播放。

02、靜音下也能播放

在iOS系統(tǒng)中,內(nèi)部音頻默認(rèn)遵循靜音鍵設(shè)置。如果希望在靜音時(shí)也能播放,可以設(shè)置 obeyMuteSwitch 為 false。

 

微信小程序音頻內(nèi)部音頻和背景音頻開(kāi)發(fā)教程

安卓系統(tǒng)沒(méi)有統(tǒng)一的靜音開(kāi)關(guān),暫不支持此特性。

03、處理音頻中斷事件

以游戲?yàn)槔?,在游戲中,?jīng)常有播放使用內(nèi)部音頻來(lái)播放游戲背景音樂(lè)的場(chǎng)景。音頻中斷事件指的是在游戲期間,音頻被系統(tǒng)打斷時(shí)觸發(fā)的事件。音頻中斷事件分為中斷開(kāi)始和中斷結(jié)束事件,分別使用 wx.onAudioInterruptionBegin() 和 wx.onAudioInterruptionEnd() 來(lái)監(jiān)聽(tīng)。

以下事件會(huì)觸發(fā)音頻中斷開(kāi)始事件:接到電話、鬧鐘響起、系統(tǒng)提醒、收到微信好友的語(yǔ)音/視頻通話請(qǐng)求。被中斷之后,小游戲內(nèi)所有音頻會(huì)被暫停,并在中斷結(jié)束之前都不能再播放成功。

中斷結(jié)束之后,被暫停的音頻不會(huì)自動(dòng)繼續(xù)播放,游戲可監(jiān)聽(tīng)音頻中斷結(jié)束事件,并在收到中斷結(jié)束事件之后調(diào)用背景音樂(lè)繼續(xù)播放。

如果游戲的邏輯強(qiáng)依賴音樂(lè)的播放(如音樂(lè)類游戲),需要在音頻開(kāi)始中斷的時(shí)候暫停游戲。

 

微信小程序音頻內(nèi)部音頻和背景音頻開(kāi)發(fā)教程

(跳一跳小游戲)

二、錄制音頻

通過(guò) wx.getRecorderManager 接口,可以獲取全局唯一的錄音管理器。

 

微信小程序音頻內(nèi)部音頻和背景音頻開(kāi)發(fā)教程

01、實(shí)現(xiàn)邊錄邊傳

默認(rèn)情況下,錄音結(jié)束后會(huì)生成一個(gè)本地文件,并通過(guò)回調(diào)返回本地文件的地址。對(duì)于實(shí)時(shí)性要求比較高的小程序(如“面對(duì)面翻譯”),可以通過(guò)設(shè)置 frameSize 參數(shù)來(lái)設(shè)置一個(gè)幀的大小,這樣每錄制指定幀大小的內(nèi)容后,會(huì)通過(guò) onFrameRecorded 回調(diào)返回本次分片的數(shù)據(jù)。

 

微信小程序音頻內(nèi)部音頻和背景音頻開(kāi)發(fā)教程

注意事項(xiàng):不建議使用的歷史接口

上述接口可以滿足所有音頻相關(guān)的需求。除了上述接口,小程序內(nèi)還有若干跟音頻相關(guān)的接口(如 wx.startRecord、wx.playVoice、 wx.playBackgroundAudio 等)。這些接口由于早期設(shè)計(jì)存在一些缺陷,銷客多微商城小編不建議繼續(xù)使用。

HiShop銷客多專注于私域裂變分銷系統(tǒng)的提供 為新華聯(lián)、藍(lán)月亮、快樂(lè)購(gòu)、華潤(rùn)堂等品牌企業(yè)合作,建立一站式服務(wù)

- 立馬聯(lián)系我們 -

將有專人為你做模式講解、功能演示、專業(yè)答疑等

產(chǎn)品和服務(wù) 更多>
營(yíng)銷玩法 更多>
  • 愛(ài)拼團(tuán)
  • 好友砍價(jià)
  • 會(huì)員積分
  • 好友裂變
  • 在線抽獎(jiǎng)
  • 分享有禮
干貨資料 更多>

微信咨詢 預(yù)約演示 產(chǎn)品資料