以 Promise 风格 调用:支持
通过js创建一个原生音频播放器对象实例InnerAudioContext。
参数
Object object
| 属性 | 类型 | 默认值 | 必填 | 说明 | 
|---|---|---|---|---|
| success | function | 无 | 否 | 接口调用成功的回调函数 | 
| fail | function | 无 | 否 | 接口调用失败的回调函数 | 
| complete | function | 无 | 否 | 接口调用结束的回调函数(调用成功、失败都会执行) | 
实例的属性
string src
需要播放的音频Url地址,支持远程地址,支持音频格式见注意事项
number startTime
音频开始播放的位置(以秒计),默认为0
boolean loop
true:每当音频结束时重新开始播放,默认为false
number volume
设置音频的当前音量,范围0~1,默认1
number playbackRate
设置音频的播放速度(Android需要6.0及以上版本),范围0.5-2.0,默认1
实例的方法
InnerAudioContext.play(function)
播放音频
function返回字段示例
//播放器对象创建结果回调
| data:{ | 
//播放器开始/继续播放时回调data:{
  "playerId": "PID2114453524",
  "type":"onPlay",
  "duration": 30,
  "startTime": 10,
  "currentTime": 20
}
//播放器暂停播放时回调data:{
  "playerId": "PID2114453524",
  "type":"onPause",
  "duration": 30,
  "startTime": 10,
  "currentTime": 20
}
//播放器停止播放时回调data:{
  "playerId": "PID2114453524",
  "type":"onStop",
  "duration": 30
}
//播放器结束播放时回调data:{
  "playerId": "PID2114453524",
  "type":"onEnd",
  "duration": 30
}
//播放器播放进度跳转完成时回调data:{
  "playerId": "PID2114453524",
  "type":"onSeeked",
  "duration": 30,
  "currentTime": 20
}
//播放器缓冲进度更新时回调data:{
  "playerId": "PID2114453524",
  "type":"onBuffered",
  "buffered": 20
}
//播放器播放进度更新时回调data:{
  "playerId": "PID2114453524",
  "type":"onTimeUpdate",
  "duration": 30,
  "startTime": 10,
  "currentTime": 20
}
//播放器播放错误时回调data:{
  "playerId": "PID2114453524",
  "type":"onError",
  "errMsg": "网络错误",
  "errCode": 10002
}
返回值说明
| 字段名 | 字段类型 | 说明 | 
|---|---|---|
| playerId | string | 播放器对象句柄 | 
| type | string | 当前回调类型,onPlay表示播放器开始/继续播放,onPause表示播放器暂停播放,onStop表示播放器停止播放,onEnd表示播放器正常播放结束,onTimeUpdate表示播放器进度更新,onSeeked表示播放器进度跳转完成,onBurrered表示播放器缓冲中,onError表示播放器播放错误(注意:1、loop为true情况下,android正常播放结束不会回调onEnd 2、loop为false情况下,android正常播放结束会回调onSeeked) | 
| duration | number | 当前音频的长度(以秒计),只有在当前有合法的src时返回 | 
| buffered | number | 音频缓冲的时间点,仅保证当前播放时间点到此时间点内容已缓冲(以百分比形式,范围0-100)(安卓只在加载远程音频资源时才会返回) | 
| startTime | number | 音频开始播放的位置(以秒计),默认为0 | 
| currentTime | number | 音频的当前播放位置(以秒计),只有在当前有合法的 src 时返回 | 
| errCode | number | type为onError时返回,表示播放器错误码,10001:系统错误,10002:网络错误,10003:文件错误,10004:格式错误,-1:未知错误(注意:1、当前安卓系统播放器报错信息无法做到具体分类,统一返回10001:系统错误 2、ios不支持针对1.txt通过修改改后缀名为音频源文件1.mp3的类似情况) | 
| errMsg | string | type为onError时返回,表示播放器具体错误信息 | 
InnerAudioContext.pause()
暂停音频
InnerAudioContext.stop()
停止播放音频
InnerAudioContext.destroy()
销毁播放器
示例代码
| const innerAudioContext = wx.createInnerAudioContext() | 
注意事项
1、音频支持格式:
| 格式 | ios | android | 
|---|---|---|
| m4a | 不支持 | 支持 | 
| ogg | 不支持 | 支持 | 
| wav | 不支持 | 支持 | 
| mp3 | 支持 | 支持 | 
| mp4 | 支持 | 支持 | 
| aac | 支持 | 支持 | 
2.需要在APP的config.js配置文件中做以下配置:
| module.exports = { | 
3.暂停后的音频再播放会从暂停处开始播放,停止后的音频再播放会从startTime开始播放