主题 : 微信小程序音频怎么开发?10分钟看懂(官方教程)
千山同一月 万户尽皆春 千江有水千江月 万里无云万里天
级别: 总版主

UID: 998
精华: 0
发帖: 605048
威望: 529654 点
无痕币: 43 WHB
贡献值: 0 点
在线时间: 62575(时)
注册时间: 2008-12-25
最后登录: 2024-05-18

0 微信小程序音频怎么开发?10分钟看懂(官方教程)

想安静听歌,即使退出小程序也不会被中断;
最好还能在系统播放面板上控制小程序音频;
电话/闹钟响起时,小程序音频最好“识时务”自动暂停……
面对用户对小程序音频能力的种种需求,开发者们是否感到有点束手无措?微信公开课今天上线了小程序音频能力开发新课程,表示小程序音频接口能力就能一举满足开发者的需求!

小程序支持播放和录制音频。小程序播放音频的方式有两种:内部音频和背景音频。
1、内部音频支持用户在使用小程序过程中播放音效;
2、背景音频支持在用户离开小程序后继续播放音效。
一、播放音频、背景音频
01、播放背景音频
背景音频接口适用于音乐类小程序,如“音乐站”、“QQ音乐小电台”。
通过[url=https://developers.weixin.qq.com/miniprogram/dev/api/getBackgroundAudioManager.html]wx.getBackgroundAudioManager()嬀/url]接口可以获取全局唯一的背景音频管理器,所有关于背景音频的操作都由它来实现。
微信内只有一个背景音频,一个小程序开始播放背景音频之后,就持有背景音频播放器,只要当前小程序持有背景音频播放器,即使这个小程序进入后台(即用户离开小程序),也可以继续使用背景音频接口,且当前小程序不会被微信主动回收;一旦背景音频播放器被抢占(可能是其他小程序、微信内其他音乐、其他App的音乐),则小程序不再持有背景音频播放器。

▲(音乐站小程序)
02、在系统播放面板显示和控制
通过设置标题、专辑名、歌手名、封面图等属性,小程序音频接口支持在系统音乐播放面板显示出来。通过响应系统面板的点击事件(漀渀倀爀攀瘀,漀渀一攀砀琀),可以实现列表播放。


▲(系统播放面板控制效果)
千山同一月 万户尽皆春 千江有水千江月 万里无云万里天
级别: 总版主

UID: 998
精华: 0
发帖: 605048
威望: 529654 点
无痕币: 43 WHB
贡献值: 0 点
在线时间: 62575(时)
注册时间: 2008-12-25
最后登录: 2024-05-18

内部音频
01、播放内部音频
内部音频适用于所有小程序,尤其是游戏类目的小程序,如“跳一跳”。
通过嬀甀爀氀=https://developers.weixin.qq.com/miniprogram/dev/api/createInnerAudioContext.html]wx.createInnerAudioContext()[/url]接口可以创建一个音频实例。

每个小程序可以同时持有和播放多个内部音频,但一旦小程序进入后台(onHide),所有内部音频都会被暂停,且在用户回到前台(即打开小程序)之前无法再被播放。
02、静音下也能播放
在iOS系统中,内部音频默认遵循静音键设置。如果希望在静音时也能播放,可以设置漀戀攀礀MuteSwitch为昀愀氀猀攀。

安卓系统没有统一的静音开关,暂不支持此特性。
03、处理音频中断事件
以游戏为例,在游戏中,经常有播放使用内部音频来播放游戏背景音乐的场景。音频中断事件指的是在游戏期间,音频被系统打断时触发的事件。音频中断事件分为中断开始和中断结束事件,分别使用嬀甀爀氀=https://developers.weixin.qq.com/minigame/dev/document/system/system-event/wx.onAudioInterruptionBegin.html]wx.onAudioInterruptionBegin()嬀/url]和嬀甀爀氀=https://developers.weixin.qq.com/minigame/dev/document/system/system-event/wx.onAudioInterruptionEnd.html]wx.onAudioInterruptionEnd()[/url]攀监听。
以下事件会触发音频中断开始事件:接到电话、闹钟响起、系统提醒、收到微信好友的语音/视频通话请求。被中断之后,小游戏内所有音频会被暂停,并在中断结束之前都不能再播放成功。
中断结束之后,被暂停的音频不会自动继续播放,游戏可监听音频中断结束事件,并在收到中断结束事件之后调用背景音乐继续播放。
如果游戏的逻辑强依赖音乐的播放(如音乐类游戏),需要在音频开始中断的时候暂停游戏。

(跳一跳小游戏)
千山同一月 万户尽皆春 千江有水千江月 万里无云万里天
级别: 总版主

UID: 998
精华: 0
发帖: 605048
威望: 529654 点
无痕币: 43 WHB
贡献值: 0 点
在线时间: 62575(时)
注册时间: 2008-12-25
最后登录: 2024-05-18

二、录制音频
通过嬀甀爀氀=https://developers.weixin.qq.com/miniprogram/dev/api/getRecorderManager.html?scene=21&uin=MjEzNDQzNzIyNw%3D%3D&key=bc3ddd203e3c4de769d3817626808ed02e07c8ba318293535986ba3c86a047a94bf59d8a67c251ec0d406348a4d05c80a3e2085c92870353a7deb545fd8a3e3a7f79d72c148be026e64c94191a736b9a&devicetype=Windows+7&version=6206021b&lang=zh_CN&ascene=1&winzoom=1]wx.getRecorderManager[/url]接口,可以获取全局唯一的录音管理器。

01、实现边录边传
默认情况下,录音结束后会生成一个本地文件,并通过回调返回本地文件的地址。对于实时性要求比较高的小程序(如“面对面翻译”),可以通过设置昀爀愀洀攀匀椀稀攀参数来设置一个帧的大小,这样每录制指定帧大小的内容后,会通过漀渀FrameRecorded回调返回本次分片的数据。

注意事项:不建议使用的历史接口
上述接口可以满足所有音频相关的需求。除了上述接口,小程序内还有若干跟音频相关的接口(如眀砀.startRecord、wx.playVoice、眀砀.playBackgroundAudio等)。这些接口由于早期设计存在一些缺陷,我们不建议继续使用。
级别: 九滴秋露
UID: 2840
精华: 0
发帖: 32712
威望: 121596 点
无痕币: 123293 WHB
贡献值: 0 点
在线时间: 27244(时)
注册时间: 2007-12-04
最后登录: 2024-05-17

这个学习一下
级别: 七朵秋菊

UID: 114668
精华: 0
发帖: 2949
威望: 40925 点
无痕币: 62975 WHB
贡献值: 0 点
在线时间: 492(时)
注册时间: 2011-02-02
最后登录: 2021-03-04

了解一下
级别: 十方秋水

UID: 88
精华: 0
发帖: 130120
威望: 221902 点
无痕币: 107420 WHB
贡献值: 0 点
在线时间: 51973(时)
注册时间: 2008-03-18
最后登录: 2024-04-25

谢谢楼主的分享。
Total 0.067833(s) query 4, Time now is:05-18 00:23, Gzip enabled 粤ICP备07514325号-1
Powered by PHPWind v7.3.2 Certificate Code © 2003-13 秋无痕论坛