接入指南 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.onPlay(Function listener)

监听音频播放事件

参数 listener

音频播放事件的监听函数

InnerAudioContext.onWaiting(Function listener)

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

参数 listener

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

InnerAudioContext.onCanplay(Function listener)

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

参数 listener

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

InnerAudioContext.onSeeking(Function listener)

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

参数 listener

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

InnerAudioContext.onSeeked(Function listener)

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

参数 listener

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

InnerAudioContext.onPause(Function listener)

监听音频暂停事件

参数 listener

音频暂停事件的监听函数

InnerAudioContext.onEnded(Function listener)

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

参数 listener

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

InnerAudioContext.onError(Function listener)

监听音频播放错误事件

参数 listener(Object res)

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

属性类型说明
errMsgString
errCodeNumber 

errCode

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

Tips 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); // 需传入与监听时同一个的函数对象

InnerAudioContext.offTimeUpdate(Function listener)

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

参数 listener

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

示例代码

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

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

InnerAudioContext.offPlay(Function listener)

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

参数 listener

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

示例代码

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

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

InnerAudioContext.offWaiting(Function listener)

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

参数 listener

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

示例代码

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

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

InnerAudioContext.offCanplay(Function listener)

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

参数 listener

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

示例代码

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

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

InnerAudioContext.offSeeking(Function listener)

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

参数 listener

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

示例代码

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

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

InnerAudioContext.offSeeked(Function listener)

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

参数 listener

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

示例代码

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

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

InnerAudioContext.offPause(Function listener)

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

参数 listener

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

示例代码

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

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

InnerAudioContext.offStop(Function listener)

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

参数 listener

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

示例代码

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

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

InnerAudioContext.offEnded(Function listener)

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

参数 listener

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

示例代码

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

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

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

条匹配 "" 的结果

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