InnerAudioContext ☁️¶
- wx.createInnerAudioContext()¶
1.6.0 新版功能: 低版本需做 兼容处理 。
创建内部 audio 🗑 上下文
InnerAudioContext()
对象。
- class InnerAudioContext()¶
InnerAudioContext 实例,可通过
wx.createInnerAudioContext()
接口获取实例。
属性¶
- InnerAudioContext.src¶
- Label
音频资源的地址,用于直接播放
- Rtype
string
2.2.3 新版功能: 开始支持云文件ID
- InnerAudioContext.startTime¶
- Label
开始播放的位置
- Rtype
number
- Unit
s(秒)
- Default
0
- InnerAudioContext.autoplay¶
- Label
是否自动开始播放
- Rtype
boolean
- Default
false
- InnerAudioContext.loop¶
- Label
是否循环播放
- Rtype
boolean
- Default
false
- InnerAudioContext.obeyMuteSwitch¶
- Label
是否遵循系统静音开关
- Rtype
boolean
- Default
true
- Note
当此参数为 false 时,即使用户打开了静音开关,也能继续发出声音。
2.3.0 版后已移除: 使用 wx.setInnerAudioOption 接口统一设置。
- InnerAudioContext.duration¶
- Label
当前音频的长度
- Premise
只有在当前有合法的 src 时返回
- Rtype
number
- Unit
s(秒)
- Readonly
true
- InnerAudioContext.currentTime¶
- Label
当前音频的播放位置,时间保留小数点后 6 位
- Premise
只有在当前有合法的 src 时返回
- Rtype
number
- Unit
s(秒)
- Readonly
true
- InnerAudioContext.paused¶
- Label
当前是是否暂停或停止状态
- Rtype
boolean
- Readonly
true
- InnerAudioContext.buffered¶
- Label
音频缓冲的时间点,仅保证当前播放时间点到此时间点内容已缓冲
- Rtype
number
- Readonly
true
方法¶
- InnerAudioContext.play()¶
- Label
播放
- InnerAudioContext.pause()¶
- Label
暂停。暂停后的音频再播放会从暂停处开始播放
- InnerAudioContext.stop()¶
- Label
停止。停止后的音频再播放会从头开始播放。
- InnerAudioContext.seek(position)¶
- Label
跳转到指定位置
- 参数
position (
number()
) – 跳转的时间,单位 s。精确到小数点后 3 位,即支持 ms 级别精确度
- InnerAudioContext.destroy()¶
- Label
销毁当前实例
- InnerAudioContext.onCanplay(callback)¶
- Label
监听音频进入可以播放状态的事件。但不保证后面可以流畅播放
- 参数
callback (
function()
) – 音频进入可以播放状态的事件的回调函数
- InnerAudioContext.offCanplay(callback)¶
- Label
取消监听音频进入可以播放状态的事件
- 参数
callback (
function()
) – 音频进入可以播放状态的事件的回调函数
- InnerAudioContext.onPlay(callback)¶
- Label
监听音频播放事件
- 参数
callback (
function()
) – 音频播放事件的回调函数
- InnerAudioContext.offPlay(callback)¶
- Label
取消监听音频播放事件
- 参数
callback (
function()
) – 音频播放事件的回调函数
- InnerAudioContext.onPause(callback)¶
- Label
监听音频暂停事件
- 参数
callback (
function()
) – 音频暂停事件的回调函数
- InnerAudioContext.offPause(callback)¶
- Label
取消监听音频暂停事件
- 参数
callback (
function()
) – 音频暂停事件的回调函数
- InnerAudioContext.onStop(callback)¶
- Label
监听音频停止事件
- 参数
callback (
function()
) – 音频停止事件的回调函数
- InnerAudioContext.offStop(callback)¶
- Label
取消监听音频停止事件
- 参数
callback (
function()
) – 音频停止事件的回调函数
- InnerAudioContext.onEnded(callback)¶
- Label
监听音频自然播放至结束的事件
- 参数
callback (
function()
) – 音频自然播放至结束的事件的回调函数
- InnerAudioContext.offEnded(callback)¶
- Label
取消监听音频自然播放至结束的事件
- 参数
callback (
function()
) – 音频自然播放至结束的事件的回调函数
- InnerAudioContext.onTimeUpdate(callback)¶
- Label
监听音频播放进度更新事件
- 参数
callback (
function()
) – 音频播放进度更新事件的回调函数
- InnerAudioContext.offTimeUpdate(callback)¶
- Label
取消监听音频播放进度更新事件
- 参数
callback (
function()
) – 音频播放进度更新事件的回调函数
- InnerAudioContext.onError(callback)¶
- Label
监听音频播放错误事件
- 参数
callback (
function()
) –
- InnerAudioContext.offError(callback)¶
- Label
取消监听音频播放错误事件
- 参数
callback (
function()
) – 音频播放错误事件的回调函数
- InnerAudioContext.onWaiting(callback)¶
- Label
监听音频加载中事件。当音频因为数据不足,需要停下来加载时会触发
- 参数
callback (
function()
) – 音频加载中事件的回调函数
- InnerAudioContext.offWaiting(callback)¶
- Label
取消监听音频加载中事件
- 参数
callback (
function()
) – 音频加载中事件的回调函数
- InnerAudioContext.onSeeking(callback)¶
- Label
监听音频进行跳转操作的事件
- 参数
callback (
function()
) –
- InnerAudioContext.offSeeking(callback)¶
- Label
取消监听音频进行跳转操作的事件
- 参数
callback (
function()
) – 音频进行跳转操作的事件的回调函数
- InnerAudioContext.onSeeked(callback)¶
- Label
监听音频完成跳转操作的事件
- 参数
callback (
function()
) –
- InnerAudioContext.offSeeked(callback)¶
- Label
取消监听音频完成跳转操作的事件
- 参数
callback (
function()
) – 音频完成跳转操作的事件的回调函数
支持格式¶
格式 |
iOS |
Android |
---|---|---|
flac |
x |
√ |
m4a |
√ |
√ |
ogg |
x |
√ |
ape |
x |
√ |
amr |
x |
√ |
wma |
x |
√ |
wav |
√ |
√ |
mp3 |
√ |
√ |
mp4 |
x |
√ |
aac |
√ |
√ |
aiff |
√ |
x |
caf |
√ |
x |
示例代码¶
const innerAudioContext = wx.createInnerAudioContext()
innerAudioContext.autoplay = true
innerAudioContext.src = 'http://ws.stream.qqmusic.qq.com/M500001VfvsJ21xFqb.mp3?guid=ffffffff82def4af4b12b3cd9337d5e7&uin=346897220&vkey=6292F51E1E384E061FF02C31F716658E5C81F5594D561F2E88B854E81CAAB7806D5E4F103E55D33C16F3FAC506D1AB172DE8600B37E43FAD&fromtag=46'
innerAudioContext.onPlay(() => {
console.log('开始播放')
})
innerAudioContext.onError((res) => {
console.log(res.errMsg)
console.log(res.errCode)
})