音频

InnerAudioContext

audio 上下文 innerAudioContext 实例对象。

对象的属性列表:

属性 类型 是否只读 描述
src string 音频的数据链接,用于直接播放。
startTime number 开始播放的位置(单位:s),默认 0
autoplay boolean 是否自动开始播放,默认 false
loop boolean 是否循环播放,默认 false
duration number 当前音频的长度(单位:s),只有在当前有合法的 src 时返回
currentTime number 当前音频的播放位置(单位:s),只有在当前有合法的 src 时返回,时间不取整,结果保留不超过 6 位小数的浮点数或者整数
paused boolean 当前是是否暂停或停止状态,true 表示暂停或停止,false 表示正在播放
buffered number 音频缓冲的时间点,仅保证当前播放时间点到此时间点内容已缓冲
volume number 音量,范围 0~1,默认 1

swan.createInnerAudioContext()

创建并返回内部 audio 上下文 innerAudioContext 实例对象。

swan.createInnerAudioContext()

返回值:

Object 类型的对象:

属性 类型 描述
innerAudioContext Object 音频上下文 innerAudioContext 实例对象

swan.setInnerAudioOption()

基础库 swan-game.js 1.7.2 版本开始支持。

InnerAudioContext 的播放选项进行全局设置。

swan.setInnerAudioOption(opts)

参数值:

属性 类型 默认值 是否必填 描述
mixWithOther boolean false 是否与其他音频混播,设置为 true 之后,不会终止其他应用的音乐
obeyMuteSwitch boolean true (iOS 特有)是否遵循静音开关,设置为 false 之后,即使是在静音模式下,也能播放声音
success function 设置成功的回调函数
fail function 设置失败的回调函数
complete function 接口调用完成的回调函数(接口成功、失败都会执行)

success 回调函数:

形如 function (res) {...},其中:

属性 类型 描述
res.errMsg string 调用结果

fail 回调函数:

形如 function (res) {...},其中:

属性 类型 描述
res.errMsg string 报错信息

示例:

swan.setInnerAudioOption({
    mixWithOther: true,
    obeyMuteSwitch: true,
    success: res => {
        console.log('设置成功');
    },
    fail: err => {
        console.log('设置失败', err);
    }
});

innerAudioContext.play()

音频播放事件。

innerAudioContext.play()

innerAudioContext.onPlay()

监听音频播放事件。

innerAudioContext.onPlay(callback)

参数值:

属性 类型 是否必填 描述
callback function 监听事件的回调函数

innerAudioContext.offPlay()

取消监听音频播放事件。

innerAudioContext.offPlay(callback)

参数值:

属性 类型 是否必填 描述
callback function 音频开始播放事件的回调函数

注意:

参数为空时将删除所有回调函数

innerAudioContext.onCanplay()

监听音频进入可以播放状态的事件,但不保证后面可以流畅播放。

innerAudioContext.onCanplay(callback)

参数值:

属性 类型 是否必填 描述
callback function 监听事件的回调函数

innerAudioContext.offCanplay()

取消监听音频进入可以播放状态的事件。

innerAudioContext.offCanplay(callback)

参数值:

属性 类型 是否必填 描述
callback function 音频进入可以播放状态的回调函数

注意:

参数为空时将删除所有回调函数

innerAudioContext.stop()

停止播放事件。

innerAudioContext.stop()

innerAudioContext.onStop()

监听音频停止事件。

innerAudioContext.onStop(callback)

参数值:

属性 类型 是否必填 描述
callback function 监听事件的回调函数

innerAudioContext.offStop()

取消监听音频停止事件。

innerAudioContext.offStop(callback)

参数值:

属性 类型 是否必填 描述
callback function 音频停止事件的回调函数

注意:

参数为空时将删除所有回调函数

innerAudioContext.onEnded()

监听音频自然播放至结束的事件。

innerAudioContext.onEnded(callback)

参数值:

属性 类型 是否必填 描述
callback function 监听事件的回调函数

innerAudioContext.offEnded()

取消监听音频自然播放至结束的事件。

innerAudioContext.offEnded(callback)

参数值:

属性 类型 是否必填 描述
callback function 音频自然播放至结束的回调函数

注意:

参数为空时将删除所有回调函数

innerAudioContext.pause()

暂停播放事件。

innerAudioContext.pause()

innerAudioContext.onPause()

监听音频暂停事件。

innerAudioContext.onPause(callback)

参数值:

属性 类型 是否必填 描述
callback function 监听事件的回调函数

innerAudioContext.offPause()

取消监听音频暂停事件。

innerAudioContext.offPause(callback)

参数值:

属性 类型 是否必填 描述
callback function 音频暂停事件的回调函数

注意:

参数为空时将删除所有回调函数

innerAudioContext.onError()

监听音频播放错误事件。

innerAudioContext.onError(callback)

参数值:

属性 类型 是否必填 描述
callback function 监听事件的回调函数

回调函数参数值:
Object res

属性 类型 描述 支持版本
res Object 回调函数参数值
res.errCode string 错误码
res.errMsg string 错误说明

errCode 的有效值

说明
10001 系统错误
10002 网络错误
10003 文件错误
10004 格式错误
-1 未知错误

注意:Android 的返回值不包含 errMsg

innerAudioContext.offError()

取消监听音频播放错误事件。

innerAudioContext.offError(callback)

参数值:

属性 类型 是否必填 描述
callback function 音频播放错误事件的回调函数

注意:

参数为空时将删除所有回调函数

innerAudioContext.seek()

跳转到指定位置。

innerAudioContext.seek(opts)

参数值:

属性 类型 是否必填 描述
opts number 跳转的位置(单位:s)

示例:

InnerAudioContext.seek(100);

innerAudioContext.onSeeked()

监听音频完成跳转操作的事件。

innerAudioContext.onSeeked(callback)

参数值:

属性 类型 是否必填 描述
callback function 监听事件的回调函数

innerAudioContext.offSeeked()

取消监听音频完成跳转操作的事件。

innerAudioContext.offSeeked(callback)

参数值:

属性 类型 是否必填 描述
callback function 音频完成跳转操作的事件的回调函数

注意:

参数为空时将删除所有回调函数

innerAudioContext.onSeeking()

监听音频进行跳转操作的事件。

innerAudioContext.onSeeking(callback)

参数值:

属性 类型 是否必填 描述
callback function 监听事件的回调函数

innerAudioContext.offSeeking()

取消监听音频进行跳转操作的事件。

innerAudioContext.offSeeking(callback)

参数值:

属性 类型 是否必填 描述
callback function 音频进行跳转操作的事件的回调函数

注意:

参数为空时将删除所有回调函数

innerAudioContext.onTimeUpdate()

监听音频播放进度更新事件。

innerAudioContext.onTimeUpdate(callback)

参数值:

属性 类型 是否必填 描述
callback function 监听事件的回调函数

返回值:

Object 类型的对象:

属性 类型 描述
currentTime number 当前音频的播放位置,单位 s。只有在当前有合法的 src 时返回,时间不取整,结果保留不超过 6 位小数的浮点数或者整数
duration number 当前音频的长度,单位 s。只有在当前有合法的 src 时返回

示例:

const audioCtx = swan.createInnerAudioContext();
      audioCtx.src = 'https://vd3.bdstatic.com/mda-ic7mxzt5cvz6f4y5/mda-ic7mxzt5cvz6f4y5.mp3';
// 事件监听
audioCtx.onTimeUpdate(res => {
    console.log('当前信息展示:', JSON.stringify(res));
});

innerAudioContext.offTimeUpdate()

取消监听音频播放进度更新事件。

innerAudioContext.offTimeUpdate(callback)

参数值:

属性 类型 是否必填 描述
callback function 音频播放进度更新事件的回调函数

注意:

参数为空时将删除所有回调函数

innerAudioContext.onWaiting()

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

innerAudioContext.onWaiting(callback)

参数值:

属性 类型 是否必填 描述
callback function 监听事件的回调函数

innerAudioContext.offWaiting()

取消监听音频加载中事件。

innerAudioContext.offWaiting(callback)

参数值:

属性 类型 是否必填 描述
callback function 音频加载中事件的回调函数

注意:

参数为空时将删除所有回调函数

innerAudioContext.destroy()

销毁当前音频实例。

innerAudioContext.destroy()