线上服务咨询
微信小程序音频内部音频和背景音频开发教程
用户对小程序音频功能有各种要求:如果你想静静地听歌,即使你退出小程序,也不会被打断;最好在系统播放面板上控制小程序音频;当手机/闹钟振铃时,小程序音频最好知道时间。自动暂停.开发人员是否感到有点无助?那么如何开发微信小程序音频呢?让我们来看看慧海科技微商城编制的官方内部音频和背景音频开发教程。
小程序支持播放和录制音频。 小程序有两种播放音频的方式:内部音频和背景音频。
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等)。由于这些界面存在一些缺点,建议不要继续使用慧海科技微商城。
微信,小程序,音频,开发教程