uni.createInnerAudioContext()
创建并返回 audio 上下文 audioContext 对象
注意
使用完后,必须调用destory方法将资源进行释放
支持格式
格式 | Android | iOS |
mp3 | √ | √ |
mp4 | √ | √ |
m4a | √ | √ |
wav | √ | √ |
aac | √ | √ |
flac | √ | √ |
aiff | x | √ |
amr | √ | x |
ape | √ | x |
caf | x | √ |
ogg | √ | x |
wma | √ | x |
- web平台的支持取决于浏览器的实现,一般浏览器上述音频格式均支持
- 小程序平台支持的格式见各家小程序的文档
缓存说明
- App-Android 平台播放的网络音频,默认会缓存到应用cache目录的uni-audio文件夹下,默认大小为100M,超过后会根据最近最少使用的缓存算法自动进行清除;
- App-iOS 平台暂不支持Cache功能;
createInnerAudioContext 兼容性
Web | 微信小程序 | Android | Android uni-app x UTS 插件 | iOS | iOS uni-app x UTS 插件 |
4.0 | 4.41 | 4.33 | 4.33 | 4.41 | 4.41 |
返回值
类型 |
InnerAudioContext |
名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 | duration | number | 是 | - |
Web
|
微信小程序
|
Android
|
Android uni-app x UTS 插件
|
iOS
|
iOS uni-app x UTS 插件
| 4.0 | 4.41 | 4.33 | 4.33 | 4.41 | 4.41 |
| 当前音频的长度(单位:s),只有在当前有合法的 src 时返回 | currentTime | number | 是 | - |
Web
|
微信小程序
|
Android
|
Android uni-app x UTS 插件
|
iOS
|
iOS uni-app x UTS 插件
| 4.0 | 4.41 | 4.33 | 4.33 | 4.41 | 4.41 |
| 当前音频的播放位置(单位:s),只有在当前有合法的 src 时返回 | paused | boolean | 是 | - |
Web
|
微信小程序
|
Android
|
Android uni-app x UTS 插件
|
iOS
|
iOS uni-app x UTS 插件
| 4.0 | 4.41 | 4.33 | 4.33 | 4.41 | 4.41 |
| 当前是是否暂停或停止状态,true 表示暂停或停止,false 表示正在播放 | src | string | 是 | - |
Web
|
微信小程序
|
Android
|
Android uni-app x UTS 插件
|
iOS
|
iOS uni-app x UTS 插件
| 4.0 | 4.41 | 4.33 | 4.33 | 4.41 | 4.41 |
| 音频的数据链接,用于直接播放 | startTime | number | 是 | - |
Web
|
微信小程序
|
Android
|
Android uni-app x UTS 插件
|
iOS
|
iOS uni-app x UTS 插件
| 4.0 | 4.41 | 4.33 | 4.33 | 4.41 | 4.41 |
| 音频开始播放的位置(单位:s) | buffered | number | 是 | - |
Web
|
微信小程序
|
Android
|
Android uni-app x UTS 插件
|
iOS
|
iOS uni-app x UTS 插件
| 4.0 | 4.41 | 4.33 | 4.33 | 4.41 | 4.41 |
| 音频缓冲的时间点,仅保证当前播放时间点到此时间点内容已缓冲 | autoplay | boolean | 是 | false |
Web
|
微信小程序
|
Android
|
Android uni-app x UTS 插件
|
iOS
|
iOS uni-app x UTS 插件
| 4.0 | 4.41 | 4.33 | 4.33 | 4.41 | 4.41 |
| 是否自动开始播放,默认 false | loop | boolean | 是 | false |
Web
|
微信小程序
|
Android
|
Android uni-app x UTS 插件
|
iOS
|
iOS uni-app x UTS 插件
| 4.0 | 4.41 | 4.33 | 4.33 | 4.41 | 4.41 |
| 是否循环播放,默认 false | obeyMuteSwitch | boolean | 是 | - |
Web
|
微信小程序
|
Android
|
Android uni-app x UTS 插件
|
iOS
|
iOS uni-app x UTS 插件
| x | 4.41 | x | x | x | x |
| 是否遵循系统静音开关,当此参数为 false 时,即使用户打开了静音开关,也能继续发出声音,默认值 true | volume | number | 是 | - |
Web
|
微信小程序
|
Android
|
Android uni-app x UTS 插件
|
iOS
|
iOS uni-app x UTS 插件
| 4.0 | 4.41 | 4.33 | 4.33 | 4.41 | 4.41 |
| 音量。范围 0~1。 | playbackRate | number | 否 | 1.0 |
Web
|
微信小程序
|
Android
|
Android uni-app x UTS 插件
|
iOS
|
iOS uni-app x UTS 插件
| x | 4.41 | 4.33 | 4.33 | 4.41 | 4.41 |
| 播放的倍率。可取值: 0.5/0.8/1.0/1.25/1.5/2.0,默认值为1.0。(仅 App 支持) | referrerPolicy | string | 否 | - |
Web
|
微信小程序
|
Android
|
iOS
| - | 4.41 | - | - |
| 需要基础库: 2.13.0
origin : 发送完整的referrer; no-referrer : 不发送。格式固定为 https://servicewechat.com/{appid}/{version}/page-frame.html ,其中 {appid} 为小程序的 appid,{version} 为小程序的版本号,版本号为 0 表示为开发版、体验版以及审核版本,版本号为 devtools 表示为开发者工具,其余为正式版本;
|
|
InnerAudioContext 的方法
pause(): void;
暂停
pause 兼容性
Web | 微信小程序 | Android | Android uni-app x UTS 插件 | iOS | iOS uni-app x UTS 插件 |
4.0 | 4.41 | 4.33 | 4.33 | 4.41 | 4.41 |
stop(): void;
停止
stop 兼容性
Web | 微信小程序 | Android | Android uni-app x UTS 插件 | iOS | iOS uni-app x UTS 插件 |
4.0 | 4.41 | 4.33 | 4.33 | 4.41 | 4.41 |
play(): void;
播放
play 兼容性
Web | 微信小程序 | Android | Android uni-app x UTS 插件 | iOS | iOS uni-app x UTS 插件 |
4.0 | 4.41 | 4.33 | 4.33 | 4.41 | 4.41 |
seek(position: number): void;
跳转到指定位置,单位 s
seek 兼容性
Web | 微信小程序 | Android | Android uni-app x UTS 插件 | iOS | iOS uni-app x UTS 插件 |
4.0 | 4.41 | 4.33 | 4.33 | 4.41 | 4.41 |
参数
名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |
position | number | 是 | - | - | - |
destroy(): void;
销毁当前实例
destroy 兼容性
Web | 微信小程序 | Android | Android uni-app x UTS 插件 | iOS | iOS uni-app x UTS 插件 |
4.0 | - | 4.33 | 4.33 | 4.41 | 4.41 |
onCanplay(callback: (result: any) => void): void;
音频进入可以播放状态,但不保证后面可以流畅播放
onCanplay 兼容性
Web | 微信小程序 | Android | Android uni-app x UTS 插件 | iOS | iOS uni-app x UTS 插件 |
4.0 | 4.41 | 4.33 | 4.33 | 4.41 | 4.41 |
参数
名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |
callback | (result: any) => void | 是 | - | - | - |
onPlay(callback: (result: any) => void): void;
音频播放事件
onPlay 兼容性
Web | 微信小程序 | Android | Android uni-app x UTS 插件 | iOS | iOS uni-app x UTS 插件 |
4.0 | - | 4.33 | 4.33 | 4.41 | 4.41 |
参数
名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |
callback | (result: any) => void | 是 | - | - | - |
onPause(callback: (result: any) => void): void;
音频暂停事件
onPause 兼容性
Web | 微信小程序 | Android | Android uni-app x UTS 插件 | iOS | iOS uni-app x UTS 插件 |
4.0 | 4.41 | 4.33 | 4.33 | 4.41 | 4.41 |
参数
名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |
callback | (result: any) => void | 是 | - | - | - |
onStop(callback: (result: any) => void): void;
音频停止事件
onStop 兼容性
Web | 微信小程序 | Android | Android uni-app x UTS 插件 | iOS | iOS uni-app x UTS 插件 |
4.0 | 4.41 | 4.33 | 4.33 | 4.41 | 4.41 |
参数
名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |
callback | (result: any) => void | 是 | - | - | - |
onEnded(callback: (result: any) => void): void;
音频自然播放结束事件
onEnded 兼容性
Web | 微信小程序 | Android | Android uni-app x UTS 插件 | iOS | iOS uni-app x UTS 插件 |
4.0 | 4.41 | 4.33 | 4.33 | 4.41 | 4.41 |
参数
名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |
callback | (result: any) => void | 是 | - | - | - |
onTimeUpdate(callback: (result: any) => void): void;
音频播放进度更新事件
onTimeUpdate 兼容性
Web | 微信小程序 | Android | Android uni-app x UTS 插件 | iOS | iOS uni-app x UTS 插件 |
4.0 | 4.41 | 4.33 | 4.33 | 4.41 | 4.41 |
参数
名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |
callback | (result: any) => void | 是 | - | - | - |
onError(callback: (result: ICreateInnerAudioContextFail) => void): void;
音频播放错误事件
onError 兼容性
Web | 微信小程序 | Android | Android uni-app x UTS 插件 | iOS | iOS uni-app x UTS 插件 |
4.0 | 4.41 | 4.33 | 4.33 | 4.41 | 4.41 |
参数
ICreateInnerAudioContextFail 的属性值
名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |
errCode | number | 是 | - | - | 错误码 |
合法值 | 兼容性 | 描述 | 1107601 |
Web
|
微信小程序
|
Android
|
Android uni-app x UTS 插件
|
iOS
|
iOS uni-app x UTS 插件
| x | - | 4.33 | 4.33 | 4.41 | 4.41 |
| 系统错误 | 1107602 |
Web
|
微信小程序
|
Android
|
Android uni-app x UTS 插件
|
iOS
|
iOS uni-app x UTS 插件
| x | - | 4.33 | 4.33 | 4.41 | 4.41 |
| 网络错误 | 1107603 |
Web
|
微信小程序
|
Android
|
Android uni-app x UTS 插件
|
iOS
|
iOS uni-app x UTS 插件
| x | - | 4.33 | 4.33 | 4.41 | 4.41 |
| 文件错误 | 1107604 |
Web
|
微信小程序
|
Android
|
Android uni-app x UTS 插件
|
iOS
|
iOS uni-app x UTS 插件
| x | - | 4.33 | 4.33 | 4.41 | 4.41 |
| 格式错误 | 1107605 |
Web
|
微信小程序
|
Android
|
Android uni-app x UTS 插件
|
iOS
|
iOS uni-app x UTS 插件
| x | - | 4.33 | 4.33 | 4.41 | 4.41 |
| 未知错误 | 1107609 |
Web
|
微信小程序
|
Android
|
Android uni-app x UTS 插件
|
iOS
|
iOS uni-app x UTS 插件
| x | - | 4.33 | 4.33 | 4.41 | 4.41 |
| 播放路径不能为空 |
|
errSubject | string | 是 | - | - | 统一错误主题(模块)名称 |
data | any | 否 | - | - | 错误信息中包含的数据 |
cause | Error | 否 | - | - | 源错误信息,可以包含多个错误,详见SourceError |
errMsg | string | 是 | - | - | - |
onWaiting(callback: (result: any) => void): void;
音频加载中事件,当音频因为数据不足,需要停下来加载时会触发
onWaiting 兼容性
Web | 微信小程序 | Android | Android uni-app x UTS 插件 | iOS | iOS uni-app x UTS 插件 |
4.0 | 4.41 | 4.33 | 4.33 | 4.41 | 4.41 |
参数
名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |
callback | (result: any) => void | 是 | - | - | - |
onSeeking(callback: (result: any) => void): void;
音频进行 seek 操作事件
onSeeking 兼容性
Web | 微信小程序 | Android | Android uni-app x UTS 插件 | iOS | iOS uni-app x UTS 插件 |
4.0 | 4.41 | 4.33 | 4.33 | 4.41 | 4.41 |
参数
名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |
callback | (result: any) => void | 是 | - | - | - |
onSeeked(callback: (result: any) => void): void;
音频完成 seek 操作事件
onSeeked 兼容性
Web | 微信小程序 | Android | Android uni-app x UTS 插件 | iOS | iOS uni-app x UTS 插件 |
4.0 | 4.41 | 4.33 | 4.33 | 4.41 | 4.41 |
参数
名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |
callback | (result: any) => void | 是 | - | - | - |
offCanplay(callback: (result: any) => void): void;
取消监听 onCanplay 事件
offCanplay 兼容性
Web | 微信小程序 | Android | Android uni-app x UTS 插件 | iOS | iOS uni-app x UTS 插件 |
4.0 | 4.41 | 4.33 | 4.33 | 4.41 | 4.41 |
参数
名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |
callback | (result: any) => void | 是 | - | - | - |
offPlay(callback: (result: any) => void): void;
取消监听 onPlay 事件
offPlay 兼容性
Web | 微信小程序 | Android | Android uni-app x UTS 插件 | iOS | iOS uni-app x UTS 插件 |
4.0 | 4.41 | 4.33 | 4.33 | 4.41 | 4.41 |
参数
名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |
callback | (result: any) => void | 是 | - | - | - |
offPause(callback: (result: any) => void): void;
取消监听 onPause 事件
offPause 兼容性
Web | 微信小程序 | Android | Android uni-app x UTS 插件 | iOS | iOS uni-app x UTS 插件 |
4.0 | 4.41 | 4.33 | 4.33 | 4.41 | 4.41 |
参数
名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |
callback | (result: any) => void | 是 | - | - | - |
offStop(callback: (result: any) => void): void;
取消监听 onStop 事件
offStop 兼容性
Web | 微信小程序 | Android | Android uni-app x UTS 插件 | iOS | iOS uni-app x UTS 插件 |
4.0 | 4.41 | 4.33 | 4.33 | 4.41 | 4.41 |
参数
名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |
callback | (result: any) => void | 是 | - | - | - |
offEnded(callback: (result: any) => void): void;
取消监听 onEnded 事件
offEnded 兼容性
Web | 微信小程序 | Android | Android uni-app x UTS 插件 | iOS | iOS uni-app x UTS 插件 |
4.0 | 4.41 | 4.33 | 4.33 | 4.41 | 4.41 |
参数
名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |
callback | (result: any) => void | 是 | - | - | - |
offTimeUpdate(callback: (result: any) => void): void;
取消监听 onTimeUpdate 事件
offTimeUpdate 兼容性
Web | 微信小程序 | Android | Android uni-app x UTS 插件 | iOS | iOS uni-app x UTS 插件 |
4.0 | 4.41 | 4.33 | 4.33 | 4.41 | 4.41 |
参数
名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |
callback | (result: any) => void | 是 | - | - | - |
offError(callback: (result: ICreateInnerAudioContextFail) => void): void;
取消监听 onWaiting 事件
offError 兼容性
Web | 微信小程序 | Android | Android uni-app x UTS 插件 | iOS | iOS uni-app x UTS 插件 |
4.0 | 4.41 | 4.33 | 4.33 | 4.41 | 4.41 |
参数
offWaiting(callback: (result: any) => void): void;
取消监听 onWaiting 事件
offWaiting 兼容性
Web | 微信小程序 | Android | Android uni-app x UTS 插件 | iOS | iOS uni-app x UTS 插件 |
4.0 | - | 4.33 | 4.33 | 4.41 | 4.41 |
参数
名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |
callback | (result: any) => void | 是 | - | - | - |
offSeeking(callback: (result: any) => void): void;
取消监听 onSeeking 事件
offSeeking 兼容性
Web | 微信小程序 | Android | Android uni-app x UTS 插件 | iOS | iOS uni-app x UTS 插件 |
4.0 | 4.41 | 4.33 | 4.33 | 4.41 | 4.41 |
参数
名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |
callback | (result: any) => void | 是 | - | - | - |
offSeeked(callback: (result: any) => void): void;
取消监听 onSeeked 事件
offSeeked 兼容性
Web | 微信小程序 | Android | Android uni-app x UTS 插件 | iOS | iOS uni-app x UTS 插件 |
4.0 | 4.41 | 4.33 | 4.33 | 4.41 | 4.41 |
参数
名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |
callback | (result: any) => void | 是 | - | - | - |
参见
示例
hello uni-app x
通用类型
GeneralCallbackResult
名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |
errMsg | string | 是 | - |
Web
|
微信小程序
|
Android
|
iOS
| - | 4.41 | - | - |
| 错误信息 |