# qq.setInnerAudioOption

QQ mac版本:暂不支持

QQ windows版本:暂不支持

# qq.setInnerAudioOption(Object object)

设置 InnerAudioContext 的播放选项。设置之后对当前小程序全局生效。

# 参数

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

# qq.getAvailableAudioSources

QQ mac版本:支持

QQ windows版本:支持

# qq.getAvailableAudioSources(Object object)

获取当前支持的音频输入源

# 参数

# Object object
属性 类型 默认值 必填 说明
success function 接口调用成功的回调函数
fail function 接口调用失败的回调函数
complete function 接口调用结束的回调函数(调用成功、失败都会执行)
# object.success 回调函数

参数

Object res

属性 类型 说明
audioSources Array.<string> 支持的音频输入源列表,可在 RecorderManager.start() 接口中使用。返回值定义参考 https://developer.android.com/reference/kotlin/android/media/MediaRecorder.AudioSource

res.audioSources 的合法值

说明
auto 自动设置,默认使用手机麦克风,插上耳麦后自动切换使用耳机麦克风,所有平台适用
buildInMic 手机麦克风,仅限 iOS
headsetMic 耳机麦克风,仅限 iOS
mic 麦克风(没插耳麦时是手机麦克风,插耳麦时是耳机麦克风),仅限 Android
camcorder 同 mic,适用于录制音视频内容,仅限 Android
voice_communication 同 mic,适用于实时沟通,仅限 Android
voice_recognition 同 mic,适用于语音识别,仅限 Android

# qq.createInnerAudioContext

QQ mac版本:支持

QQ windows版本:支持

# InnerAudioContext qq.createInnerAudioContext()

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

# 返回值

# InnerAudioContext

# .pause

# AudioContext.pause()

暂停音频。

# .play

# AudioContext.play()

播放音频。

# .seek

# AudioContext.seek(number position)

跳转到指定位置。

# 参数

# number position

跳转位置,单位 s

# .setSrc

# AudioContext.setSrc(string src)

设置音频地址

# 参数

# string src

音频地址

# InnerAudioContext

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

QQ mac版本:支持

QQ windows版本:支持

# 属性

# string src

音频资源的地址,用于直接播放。支持云文件ID

# number startTime

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

# boolean autoplay

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

# boolean loop

是否循环播放,默认为 false

# number volume

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

# number duration

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

# number currentTime

当前音频的播放位置(单位 s)。只有在当前有合法的 src 时返回,时间保留小数点后 6 位(只读)

# boolean paused

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

# number buffered

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

# 方法

# InnerAudioContext.play()

播放

# InnerAudioContext.pause()

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

# InnerAudioContext.stop()

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

# InnerAudioContext.seek(number position)

跳转到指定位置

# InnerAudioContext.destroy()

销毁当前实例

# InnerAudioContext.onCanplay(function callback)

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

# InnerAudioContext.offCanplay(function callback)

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

# InnerAudioContext.onPlay(function callback)

监听音频播放事件

# InnerAudioContext.offPlay(function callback)

取消监听音频播放事件

# InnerAudioContext.onPause(function callback)

监听音频暂停事件

# InnerAudioContext.offPause(function callback)

取消监听音频暂停事件

# InnerAudioContext.onStop(function callback)

监听音频停止事件

# InnerAudioContext.offStop(function callback)

取消监听音频停止事件

# InnerAudioContext.onEnded(function callback)

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

# InnerAudioContext.offEnded(function callback)

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

# InnerAudioContext.onTimeUpdate(function callback)

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

# InnerAudioContext.offTimeUpdate(function callback)

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

# InnerAudioContext.onError(function callback)

监听音频播放错误事件

# InnerAudioContext.offError(function callback)

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

# InnerAudioContext.onWaiting(function callback)

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

# InnerAudioContext.offWaiting(function callback)

取消监听音频加载中事件

# InnerAudioContext.onSeeking(function callback)

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

# InnerAudioContext.offSeeking(function callback)

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

# InnerAudioContext.onSeeked(function callback)

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

# InnerAudioContext.offSeeked(function callback)

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

# 支持格式

格式 iOS Android
flac x
m4a
ogg x
ape x
amr x
wma x
wav
mp3
mp4 x
aac
aiff x
caf x

# 示例代码

const innerAudioContext = qq.createInnerAudioContext()
innerAudioContext.autoplay = true
innerAudioContext.src = 'https://ws.stream.qqmusic.qq.com/M500001VfvsJ21xFqb.mp3?guid=ffffffff82def4af4b12b3cd9337d5e7&uin=346897220&vkey=6292F51E1E384E061FF02C31F716658E5C81F5594D561F2E88B854E81CAAB7806D5E4F103E55D33C16F3FAC506D1AB172DE8600B37E43FAD&fromtag=46'
innerAudioContext.onPlay(() => {
  console.log('开始播放')
})
innerAudioContext.onError((res) => {
  console.log(res.errMsg)
  console.log(res.errCode)
})
1
2
3
4
5
6
7
8
9
10

# .destroy

# InnerAudioContext.destroy()

销毁当前实例

# .offCanplay

# InnerAudioContext.offCanplay(function callback)

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

# 参数

# function callback

音频进入可以播放状态的事件的回调函数

# .offEnded

# InnerAudioContext.offEnded(function callback)

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

# 参数

# function callback

音频自然播放至结束的事件的回调函数

# .offError

# InnerAudioContext.offError(function callback)

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

# 参数

# function callback

音频播放错误事件的回调函数

# .offPause

# InnerAudioContext.offPause(function callback)

取消监听音频暂停事件

# 参数

# function callback

音频暂停事件的回调函数

# .offPlay

# InnerAudioContext.offPlay(function callback)

取消监听音频播放事件

# 参数

# function callback

音频播放事件的回调函数

# .offSeeked

# InnerAudioContext.offSeeked(function callback)

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

# 参数

# function callback

音频完成跳转操作的事件的回调函数

# .offSeeking

# InnerAudioContext.offSeeking(function callback)

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

# 参数

# function callback

音频进行跳转操作的事件的回调函数

# .offStop

# InnerAudioContext.offStop(function callback)

取消监听音频停止事件

# 参数

# function callback

音频停止事件的回调函数

# .offTimeUpdate

# InnerAudioContext.offTimeUpdate(function callback)

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

# 参数

# function callback

音频播放进度更新事件的回调函数

# .offWaiting

# InnerAudioContext.offWaiting(function callback)

取消监听音频加载中事件

# 参数

# function callback

音频加载中事件的回调函数

# .onCanplay

# InnerAudioContext.onCanplay(function callback)

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

# 参数

# function callback

音频进入可以播放状态的事件的回调函数

# .onEnded

# InnerAudioContext.onEnded(function callback)

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

# 参数

# function callback

音频自然播放至结束的事件的回调函数

# .onError

# InnerAudioContext.onError(function callback)

监听音频播放错误事件

# 参数

# function callback

音频播放错误事件的回调函数

# 参数

Object res

属性 类型 说明
errCode number

errCode 的合法值

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

# .onPause

# InnerAudioContext.onPause(function callback)

监听音频暂停事件

# 参数

# function callback

音频暂停事件的回调函数

# .onPlay

# InnerAudioContext.onPlay(function callback)

监听音频播放事件

# 参数

# function callback

音频播放事件的回调函数

# .onSeeked

# InnerAudioContext.onSeeked(function callback)

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

# 参数

# function callback

音频完成跳转操作的事件的回调函数

# .onSeeking

# InnerAudioContext.onSeeking(function callback)

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

# 参数

# function callback

音频进行跳转操作的事件的回调函数

# .onStop

# InnerAudioContext.onStop(function callback)

监听音频停止事件

# 参数

# function callback

音频停止事件的回调函数

# .onTimeUpdate

# InnerAudioContext.onTimeUpdate(function callback)

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

# 参数

# function callback

音频播放进度更新事件的回调函数

# .onWaiting

# InnerAudioContext.onWaiting(function callback)

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

# 参数

# function callback

音频加载中事件的回调函数

# .pause

# InnerAudioContext.pause()

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

# .play

# InnerAudioContext.play()

播放

# .seek

# InnerAudioContext.seek(number position)

跳转到指定位置

# 参数

# number position

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

# .stop

# InnerAudioContext.stop()

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