跳到主要内容
版本:3.x

InnerAudioContext

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

支持格式

格式iOSAndroid
flacx√
m4a√√
oggx√
apex√
amrx√
wmax√
wav√√
mp3√√
mp4x√
aac√√
aiff√x
caf√x

参考文档

方法​

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

play​

播放

支持情况:

() => void

pause​

暂停

支持情况:

() => void

stop​

停止

支持情况:

() => void

seek​

跳转到指定位置,单位 s

支持情况:

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

destroy​

销毁当前实例

支持情况:

() => void

onCanplay​

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

支持情况:

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

onPlay​

音频播放事件

支持情况:

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

onPause​

音频暂停事件

支持情况:

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

onStop​

音频停止事件

支持情况:

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

onEnded​

音频自然播放结束事件

支持情况:

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

onTimeUpdate​

音频播放进度更新事件

支持情况:

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

onError​

音频播放错误事件

支持情况:

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

onWaiting​

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

支持情况:

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

onSeeking​

音频进行 seek 操作事件

支持情况:

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

onSeeked​

音频完成 seek 操作事件

支持情况:

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

offCanplay​

取消监听 canplay 事件

支持情况:

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

offPlay​

取消监听 play 事件

支持情况:

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

offPause​

取消监听 pause 事件

支持情况:

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

offStop​

取消监听 stop 事件

支持情况:

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

offEnded​

取消监听 ended 事件

支持情况:

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

offTimeUpdate​

取消监听 timeUpdate 事件

支持情况:

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

offError​

取消监听 error 事件

支持情况:

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

offWaiting​

取消监听 waiting 事件

支持情况:

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

offSeeking​

取消监听 seeking 事件

支持情况:

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

offSeeked​

取消监听 seeked 事件

支持情况:

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

参数​

onErrorDetail​

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

onErrorDetailErrCode​

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

OnCanplayCallback​

音频进入可以播放状态事件的回调函数

(res: TaroGeneral.CallbackResult) => void
参数类型
resTaroGeneral.CallbackResult

OnPlayCallback​

音频播放事件的回调函数

(res: TaroGeneral.CallbackResult) => void
参数类型
resTaroGeneral.CallbackResult

OnPauseCallback​

音频暂停事件的回调函数

(res: TaroGeneral.CallbackResult) => void
参数类型
resTaroGeneral.CallbackResult

OnStopCallback​

音频停止事件的回调函数

(res: TaroGeneral.CallbackResult) => void
参数类型
resTaroGeneral.CallbackResult

OnEndedCallback​

音频自然播放结束事件的回调函数

(res: TaroGeneral.CallbackResult) => void
参数类型
resTaroGeneral.CallbackResult

OnTimeUpdateCallback​

音频播放进度更新事件的回调函数

(res: TaroGeneral.CallbackResult) => void
参数类型
resTaroGeneral.CallbackResult

OnErrorCallback​

音频播放错误事件的回调函数

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

OnWaitingCallback​

音频加载中事件的回调函数

(res: TaroGeneral.CallbackResult) => void
参数类型
resTaroGeneral.CallbackResult

OnSeekingCallback​

音频进行 seek 操作事件的回调函数

(res: TaroGeneral.CallbackResult) => void
参数类型
resTaroGeneral.CallbackResult

OnSeekedCallback​

音频完成 seek 操作事件的回调函数

(res: TaroGeneral.CallbackResult) => void
参数类型
resTaroGeneral.CallbackResult

示例代码​

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 NativeHarmonyHarmony hybridASCF元服务
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✔️✔️✔️✔️