- qq.setInnerAudioOption
- qq.getAvailableAudioSources
- qq.createInnerAudioContext
- InnerAudioContext
- 属性
- 方法
- 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)
- 支持格式
- 示例代码
- .destroy
- .offCanplay
- .offEnded
- .offError
- .offPause
- .offPlay
- .offSeeked
- .offSeeking
- .offStop
- .offTimeUpdate
- .offWaiting
- .onCanplay
- .onEnded
- .onError
- .onPause
- .onPlay
- .onSeeked
- .onSeeking
- .onStop
- .onTimeUpdate
- .onWaiting
- .pause
- .play
- .seek
- .stop
qq.setInnerAudioOption
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.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
InnerAudioContext qq.createInnerAudioContext()
创建内部 audio
上下文 InnerAudioContext
对象。
返回值
InnerAudioContext
InnerAudioContext
InnerAudioContext 实例,可通过 qq.createInnerAudioContext 接口获取实例。
属性
string src
音频资源的地址,用于直接播放。
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 = 'http://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)
})
.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()
停止。停止后的音频再播放会从头开始播放。