createInnerAudioContext 1.0.0+

创建innerAudioContext实例,通过它能够操作音频播放。

innerAudioContext的属性列表

名称数据类型属性默认值描述
srcstringN/A音频源地址
startTimenumber0开始播放的位置,单位s
autoplaybooleanfalse是否自动播放
loopbooleanfalse是否自动循环
obeyMuteSwitchbooleantrue是否遵循系统静音开关
durationnumberreadonly当前音频总时长,单位s
currentTimenumberreadonly当前音频进度,单位s
pausedbooleanreadonly当前音频是否处于暂停状态
bufferednumberreadonly当前音频已缓冲部分,单位s
volumenumberreadonly当前音量

innerAudioContext的方法列表

play()

播放

pause()

暂停播放

stop()

停止播放

seek(position)

跳转到position指定的位置播放,数据格式为number,单位为s

destory()

销毁当前innerAudioContext实例

onCanplay(() => {})

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

offCanplay(() => {})

取消监听 Canplay 事件

onPlay(() => {})

音频播放事件

offPlay(() => {})

取消监听 Play 事件

onPause(() => {})

音频暂停事件

offPause(() => {})

取消监听 Pause 事件

onStop(() => {})

音频停止事件

offStop(() => {})

取消监听 Stop 事件

onEnded(() => {})

音频自然播放结束事件

offEnded(() => {})

取消监听 Ended 事件

onTimeUpdate(() => {})

音频播放进度更新事件

offTimeUpdate(() => {})

取消监听 TimeUpdate 事件

onError((error) => {})

音频播放错误事件

offError(() => {})

取消监听 Error 事件

onWaiting(() => {})

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

offWaiting(() => {})

取消监听 Waiting 事件

onSeeking(() => {})

音频进行 seek 操作事件

offSeeking(() => {})

取消监听 Seeking 事件

onSeeked(() => {})

音频完成 seek 操作事件

offSeeked(() => {})

取消监听 Seeked 事件

代码示例

  1. const innerAudioContext = tt.createInnerAudioContext();
  2. innerAudioContext.autoplay = true;
  3. innerAudioContext.src = 'https://someaudiourl';
  4. innerAudioContext.onPlay(() => {
  5. console.log('开始播放');
  6. });
  7. innerAudioContext.onError((error) => {
  8. console.log(error)
  9. });
  10. innerAudioContext.onTimeUpdate((res) => {
  11. this.setData({
  12. progress: innerAudioContext.currentTime / innerAudioContext.duration
  13. });
  14. })

已知问题

原文: https://developer.toutiao.com/docs/api/createInnerAudioContext.html