接入指南 API 工具 其他

音频

qg.createInnerAudioContext()

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

返回值 InnerAudioContext

一个音频对象,可以通过设置该对象上的属性和调用该对象上的方法来控制音频

注意事项 InnerAudioContext 音频资源不会自动释放,因此如果不再需要使用音频,请及时调用 InnerAudioContext.destroy() 释放资源,避免内存泄漏。

示例代码

const innerAudioContext = qg.createInnerAudioContext();
innerAudioContext.src = "https://test.mp3";

innerAudioContext.play(); // 播放

innerAudioContext.pause(); // 暂停

innerAudioContext.stop(); // 停止

innerAudioContext.destroy(); // 释放音频资源

InnerAudioContext

InnerAudioContext 实例,可通过 qg.createInnerAudioContext 接口获取实例。

注意,音频播放过程中,可能被系统中断,可通过 qg.onAudioInterruptionBegin、qg.onAudioInterruptionEnd 事件来处理这种情况。

属性

String src

音频资源的地址,用于直接播放。

Number startTime

开始播放的位置(单位:s),默认为 0

Boolean autoplay

是否自动开始播放,默认为 false

Boolean loop

是否循环播放,默认为 false

Number volume

音量。范围 0~1。默认为 1

Number playbackRate

播放速度。范围 0.5-2.0,默认为 1。(Android 需要 6 及以上版本)

Number duration

当前音频的长度(单位 s)。只有在当前有合法的 src 时返回(只读)

Number currentTime

当前音频的播放位置(单位 s)。只有在当前有合法的 src 时返回,时间保留小数点后 6 位(改变 currentTime 值等同于调用 seek)

Boolean paused

当前是是否暂停或停止状态(只读)

Number buffered

音频缓冲的时间点,仅保证当前播放时间点到此时间点内容已缓冲(只读)

方法

InnerAudioContext.play()

播放

InnerAudioContext.pause()

暂停。暂停后的音频再播放会从暂停处开始播放

InnerAudioContext.seek(Number position)

跳转到指定位置

参数 Number position

跳转的时间,单位 s。精确到小数点后 3 位,即支持 ms 级别精确度

InnerAudioContext.stop()

停止。停止后的音频再播放会从头开始播放。

InnerAudioContext.destroy()

销毁当前实例

InnerAudioContext.onTimeUpdate(Function listener)

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

参数 listener

音频播放进度更新事件的监听函数

InnerAudioContext.offTimeUpdate(Function listener)

移除音频播放进度更新事件的监听函数

参数 listener

onTimeUpdate 传入的监听函数。不传此参数则移除所有监听函数。

示例代码

const listener = function(res) {
  console.log(res);
};

InnerAudioContext.onTimeUpdate(listener);
InnerAudioContext.offTimeUpdate(listener); // 需传入与监听时同一个的函数对象

InnerAudioContext.onPlay(Function listener)

监听音频播放事件

参数 listener

音频播放事件的监听函数

InnerAudioContext.offPlay(Function listener)

移除音频播放事件的监听函数

参数 listener

onPlay 传入的监听函数。不传此参数则移除所有监听函数。

示例代码

const listener = function(res) {
  console.log(res);
};

InnerAudioContext.onPlay(listener);
InnerAudioContext.offPlay(listener); // 需传入与监听时同一个的函数对象

InnerAudioContext.onWaiting(Function listener)

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

参数 listener

音频加载中事件的监听函数

InnerAudioContext.offWaiting(Function listener)

移除音频加载中事件的监听函数

参数 listener

onWaiting 传入的监听函数。不传此参数则移除所有监听函数。

示例代码

const listener = function(res) {
  console.log(res);
};

InnerAudioContext.onWaiting(listener);
InnerAudioContext.offWaiting(listener); // 需传入与监听时同一个的函数对象

InnerAudioContext.onCanplay(Function listener)

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

参数 listener

音频进入可以播放状态的事件的监听函数

InnerAudioContext.offCanplay(Function listener)

移除音频进入可以播放状态的事件的监听函数

参数 listener

onCanplay 传入的监听函数。不传此参数则移除所有监听函数。

示例代码

const listener = function(res) {
  console.log(res);
};

InnerAudioContext.onCanplay(listener);
InnerAudioContext.offCanplay(listener); // 需传入与监听时同一个的函数对象

InnerAudioContext.onSeeking(Function listener)

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

参数 listener

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

InnerAudioContext.offSeeking(Function listener)

移除音频进行跳转操作的事件的监听函数

参数 listener

onSeeking 传入的监听函数。不传此参数则移除所有监听函数。

示例代码

const listener = function(res) {
  console.log(res);
};

InnerAudioContext.onSeeking(listener);
InnerAudioContext.offSeeking(listener); // 需传入与监听时同一个的函数对象

InnerAudioContext.onSeeked(Function listener)

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

参数 listener

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

InnerAudioContext.offSeeked(Function listener)

移除音频完成跳转操作的事件的监听函数

参数 listener

onSeeked 传入的监听函数。不传此参数则移除所有监听函数。

示例代码

const listener = function(res) {
  console.log(res);
};

InnerAudioContext.onSeeked(listener);
InnerAudioContext.offSeeked(listener); // 需传入与监听时同一个的函数对象

InnerAudioContext.onPause(Function listener)

监听音频暂停事件

参数 listener

音频暂停事件的监听函数

InnerAudioContext.offPause(Function listener)

移除音频暂停事件的监听函数

参数 listener

onPause 传入的监听函数。不传此参数则移除所有监听函数。

示例代码

const listener = function(res) {
  console.log(res);
};

InnerAudioContext.onPause(listener);
InnerAudioContext.offPause(listener); // 需传入与监听时同一个的函数对象

InnerAudioContext.onEnded(Function listener)

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

参数 listener

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

InnerAudioContext.offEnded(Function listener)

移除音频自然播放至结束的事件的监听函数

参数 listener

onEnded 传入的监听函数。不传此参数则移除所有监听函数。

示例代码

const listener = function(res) {
  console.log(res);
};

InnerAudioContext.onEnded(listener);
InnerAudioContext.offEnded(listener); // 需传入与监听时同一个的函数对象

InnerAudioContext.onStop(function listener)

监听音频停止事件

参数 listener

音频停止事件的监听函数

InnerAudioContext.offStop(Function listener)

移除音频停止事件的监听函数

参数 listener

onStop 传入的监听函数。不传此参数则移除所有监听函数。

示例代码

const listener = function(res) {
  console.log(res);
};

InnerAudioContext.onStop(listener);
InnerAudioContext.offStop(listener); // 需传入与监听时同一个的函数对象

InnerAudioContext.onError(Function listener)

监听音频播放错误事件

参数 listener(Object res)

音频播放错误事件的监听函数

属性类型说明
errMsgString
errCodeNumber 

errCode

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

errCode=100001 时,如若 errMsg 中有 INNERCODE -11828 ,请先检查 response header 是否缺少 Content-Length

errCode=100001 时,如若 errMsg 中有 systemErrCode:200333420,请检查文件编码格式和 fileExtension 是否一致

InnerAudioContext.offError(Function listener)

移除音频播放错误事件的监听函数

参数 listener

onError 传入的监听函数。不传此参数则移除所有监听函数。

示例代码

const listener = function(res) {
  console.log(res);
};

InnerAudioContext.onError(listener);
InnerAudioContext.offError(listener); // 需传入与监听时同一个的函数对象

注意: unity fmod 音频引擎针对 WebGL 平台实现有 bug

条匹配 "" 的结果

    没有搜索到与 "" 相关的内容