Skip to main content
Version: 下个版本

InnerAudioContext

InnerAudioContext 实例,可通过 Taro.createInnerAudioContext 接口获取实例。

支持格式

格式iOSAndroid
flacx
m4a
oggx
apex
amrx
wmax
wav
mp3
mp4x
aac
aiffx
cafx

参考文档

方法#

参数类型默认值只读说明
autoplaybooleanfalse是否自动开始播放
bufferednumber音频缓冲的时间点,仅保证当前播放时间点到此时间点内容已缓冲
currentTimenumber当前音频的播放位置(单位 s)。只有在当前有合法的 src 时返回,时间保留小数点后 6 位
durationnumber当前音频的长度(单位 s)。只有在当前有合法的 src 时返回
loopbooleanfalse是否循环播放
obeyMuteSwitchbooleantrue是否遵循系统静音开关。当此参数为 false 时,即使用户打开了静音开关,也能继续发出声音。从 2.3.0 版本开始此参数不生效,使用 Taro.setInnerAudioOption 接口统一设置。
pausedboolean当前是是否暂停或停止状态
srcstring音频资源的地址,用于直接播放。
startTimenumber0开始播放的位置(单位:s)
volumenumber1音量。范围 0~1。

play#

播放

() => void

pause#

暂停

() => void

stop#

停止

() => void

seek#

跳转到指定位置,单位 s

(position: number) => void
参数类型
positionnumber

destroy#

销毁当前实例

() => void

onCanplay#

音频进入可以播放状态,但不保证后面可以流畅播放

(callback?: () => void) => void
参数类型
callback() => void

onPlay#

音频播放事件

(callback?: () => void) => void
参数类型
callback() => void

onPause#

音频暂停事件

(callback?: () => void) => void
参数类型
callback() => void

onStop#

音频停止事件

(callback?: () => void) => void
参数类型
callback() => void

onEnded#

音频自然播放结束事件

(callback?: () => void) => void
参数类型
callback() => void

onTimeUpdate#

音频播放进度更新事件

(callback?: () => void) => void
参数类型
callback() => void

onError#

音频播放错误事件

(callback?: (res: onErrorDetail) => void) => void
参数类型
callback(res: onErrorDetail) => void

onWaiting#

音频加载中事件,当音频因为数据不足,需要停下来加载时会触发

(callback?: () => void) => void
参数类型
callback() => void

onSeeking#

音频进行 seek 操作事件

(callback?: () => void) => void
参数类型
callback() => void

onSeeked#

音频完成 seek 操作事件

(callback?: () => void) => void
参数类型
callback() => void

offCanplay#

取消监听 onCanplay 事件

(callback?: () => void) => void
参数类型
callback() => void

offPlay#

取消监听 onPlay 事件

(callback?: () => void) => void
参数类型
callback() => void

offPause#

取消监听 onPause 事件

(callback?: () => void) => void
参数类型
callback() => void

offStop#

取消监听 onStop 事件

(callback?: () => void) => void
参数类型
callback() => void

offEnded#

取消监听 onEnded 事件

(callback?: () => void) => void
参数类型
callback() => void

offTimeUpdate#

取消监听 onTimeUpdate 事件

(callback?: () => void) => void
参数类型
callback() => void

offError#

取消监听 onError 事件

(callback?: () => void) => void
参数类型
callback() => void

offWaiting#

取消监听 onWaiting 事件

(callback?: () => void) => void
参数类型
callback() => void

offSeeking#

取消监听 onSeeking 事件

(callback?: () => void) => void
参数类型
callback() => void

offSeeked#

取消监听 onSeeked 事件

(callback?: () => void) => void
参数类型
callback() => void

参数#

onErrorDetail#

参数类型说明
errCodenumber错误码
errMsgstring错误信息

onErrorDetailErrCode#

参数说明
10001系统错误
10002网络错误
10003文件错误
10004格式错误
-1未知错误

示例代码#

const innerAudioContext = Taro.createInnerAudioContext()
innerAudioContext.autoplay = true
innerAudioContext.src = 'https://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)
})

API 支持度#

API微信小程序H5React Native
InnerAudioContext.play✔️✔️✔️
InnerAudioContext.pause✔️✔️✔️
InnerAudioContext.stop✔️✔️✔️
InnerAudioContext.seek✔️✔️✔️
InnerAudioContext.destroy✔️✔️
InnerAudioContext.onCanplay✔️✔️
InnerAudioContext.onPlay✔️✔️
InnerAudioContext.onPause✔️✔️
InnerAudioContext.onStop✔️✔️
InnerAudioContext.onEnded✔️✔️
InnerAudioContext.onTimeUpdate✔️✔️
InnerAudioContext.onError✔️✔️
InnerAudioContext.onWaiting✔️✔️
InnerAudioContext.onSeeking✔️✔️
InnerAudioContext.onSeeked✔️✔️
InnerAudioContext.offCanplay✔️✔️
InnerAudioContext.offPlay✔️✔️
InnerAudioContext.offPause✔️✔️
InnerAudioContext.offStop✔️✔️
InnerAudioContext.offEnded✔️✔️
InnerAudioContext.offTimeUpdate✔️✔️
InnerAudioContext.offError✔️✔️
InnerAudioContext.offWaiting✔️✔️
InnerAudioContext.offSeeking✔️✔️
InnerAudioContext.offSeeked✔️✔️