InnerAudioContext ☁️

wx.createInnerAudioContext()

1.6.0 新版功能: 低版本需做 兼容处理

创建内部 audio 🗑 上下文 InnerAudioContext() 对象。

返回

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.volume
Label

音量。范围 0~1。

Rtype

number

Default

1

Note

1.9.90 新版功能: 低版本需做 兼容处理

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)
})