InnerAudioContext
innerAudioContext实例,通过它能够操作音频播放。
实例属性
属性 | 类型 | 默认值 | 说明 |
---|---|---|---|
src | string | 音频源地址 | |
startTime | number | 0 | 开始播放的位置,单位s |
autoplay | boolean | false | 是否自动播放 |
loop | boolean | false | 是否自动循环 |
obeyMuteSwitch | boolean | true | 是否遵循系统静音开关 |
duration | number | 当前音频总时长,单位 s,只读 | |
currentTime | number | 当前音频进度,单位 s,只读 | |
paused | boolean | 当前音频是否处于暂停状态,只读 | |
buffered | number | 当前音频已缓冲部分,单位百分比,只读 | |
volume | number | 当前音量,只读 |
注意, src 地址的域名必须在开发者平台 request 域名白名单中配置。
方法
InnerAudioContext.play()
播放。
InnerAudioContext.pause()
暂停播放。
InnerAudioContext.stop()
停止播放。
InnerAudioContext.seek(number position)
跳转到 position 指定的位置播放,数据格式为 number,单位为s。
InnerAudioContext.destory()
销毁当前 innerAudioContext 实例。
InnerAudioContext.onCanplay(function callback)
音频进入可以播放状态,但不保证后面可以流畅播放。
InnerAudioContext.offCanplay(function callback)
取消监听 Canplay 事件。
InnerAudioContext.onPlay(function callback)
音频播放事件。
InnerAudioContext.offPlay(function callback)
取消监听 Play 事件。
InnerAudioContext.onPause(function callback)
音频暂停事件。
InnerAudioContext.offPause(function callback)
取消监听 Pause 事件。
InnerAudioContext.onStop(function callback)
音频停止事件。
InnerAudioContext.offStop(function callback)
取消监听 Stop 事件。
InnerAudioContext.onEnded(function callback)
音频自然播放结束事件。
InnerAudioContext.offEnded(function callback)
取消监听 Ended 事件。
InnerAudioContext.onTimeUpdate(function callback)
音频播放进度更新事件。
InnerAudioContext.offTimeUpdate(function callback)
取消监听 TimeUpdate 事件。
InnerAudioContext.onError((error) => {})
音频播放错误事件。
InnerAudioContext.offError(function callback)
取消监听 Error 事件。
InnerAudioContext.onWaiting(function callback)
音频加载中事件,当音频因为数据不足,需要停下来加载时会触发。
InnerAudioContext.offWaiting(function callback)
取消监听 Waiting 事件。
InnerAudioContext.onSeeking(function callback)
音频进行 seek 操作事件。
InnerAudioContext.offSeeking(function callback)
取消监听 Seeking 事件。
InnerAudioContext.onSeeked(function callback)
音频完成 seek 操作事件。
InnerAudioContext.offSeeked(function callback)
取消监听 Seeked 事件。
代码示例
const innerAudioContext = tt.createInnerAudioContext();
innerAudioContext.autoplay = true;
innerAudioContext.src = "https://someaudiourl";
innerAudioContext.onPlay(() => {
console.log("开始播放");
});
innerAudioContext.onError(error => {
console.log(error);
});
innerAudioContext.onTimeUpdate(res => {
this.setData({
progress: innerAudioContext.currentTime / innerAudioContext.duration
});
});