stopVoice
该 API 使用方法为 wx.stopVoice(Object object)
功能说明:结束播放语音。
参数及说明:Object object。
属性 | 类型 | 默认值 | 必填 | 说明 |
success | function | - | 否 | 接口调用成功的回调函数 |
fail | function | - | 否 | 接口调用失败的回调函数 |
complete | function | - | 否 | 接口调用结束的回调函数(调用成功、失败都会执行) |
示例代码
wx.startRecord({success (res) {const tempFilePath = res.tempFilePathwx.playVoice({filePath: tempFilePath,})setTimeout(() => { wx.stopVoice() }, 5000)}})
playVoice
该 API 使用方法为 wx.playVoice(Object object)
功能说明:开始播放语音。同时只允许一个语音文件正在播放,如果前一个语音文件还没播放完,将中断前一个语音播放。
参数及说明:
属性 | 类型 | 默认值 | 必填 | 说明 |
filePath | string | - | 是 | 需要播放的语音文件的文件路径 (本地路径) |
duration | number | 60 | 否 | 指定播放时长,到达指定的播放时长后会自动停止播放,单位:秒 |
success | function | - | 否 | 接口调用成功的回调函数 |
fail | function | - | 否 | 接口调用失败的回调函数 |
complete | function | - | 否 | 接口调用结束的回调函数(调用成功、失败都会执行) |
示例代码
wx.startRecord({success (res) {const tempFilePath = res.tempFilePathwx.playVoice({filePath: tempFilePath,complete () { }})}})
pauseVoice
该 API 使用方法为 wx.pauseVoice(Object object)
功能说明:暂停正在播放的语音。再次调用 wx.playVoice 播放同一个文件时,会从暂停处开始播放。如果想从头开始播放,需要先调用 wx.stopVoice。
参数及说明:Object object。
属性 | 类型 | 默认值 | 必填 | 说明 |
success | function | - | 否 | 接口调用成功的回调函数 |
fail | function | - | 否 | 接口调用失败的回调函数 |
complete | function | - | 否 | 接口调用结束的回调函数(调用成功、失败都会执行) |
示例代码
wx.startRecord({success (res) {const tempFilePath = res.tempFilePathwx.playVoice({filePath: tempFilePath})setTimeout(() => { wx.pauseVoice() }, 5000)}})
setInnerAudioOption
该 API 使用方法为 wx.setInnerAudioOption(Object object)
功能说明:设置 InnerAudioContext 的播放选项。设置之后对当前小程序全局生效。
参数:Object object。
属性 | 类型 | 默认值 | 必填 | 说明 |
mixWithOther | boolean | true | 否 | 是否与其他音频混播,设置为 true 之后,不会终止其他应用的音乐 |
obeyMuteSwitch | boolean | true | 否 | (仅在 iOS 生效)是否遵循静音开关,设置为 false 之后,即使是在静音模式下,也能播放声音 |
success | function | - | 否 | 接口调用成功的回调函数 |
fail | function | - | 否 | 接口调用失败的回调函数 |
complete | function | - | 否 | 接口调用结束的回调函数(调用成功、失败都会执行) |
getAvailableAudioSources
该 API 使用方法为 wx.getAvailableAudioSources(Object object)
功能说明:获取当前支持的音频输入源。
参数及说明:Object object。
属性 | 类型 | 默认值 | 必填 | 说明 |
success | function | - | 否 | 接口调用成功的回调函数 |
fail | function | - | 否 | 接口调用失败的回调函数 |
complete | function | - | 否 | 接口调用结束的回调函数(调用成功、失败都会执行) |
object.success 回调函数参数:Object res。
属性 | 类型 | 说明 |
audioSources | Array.<string> |
audioSources 合法值
合法值 | 说明 |
auto | 自动设置,默认使用手机麦克风,插上耳麦后自动切换使用耳机麦克风,所有平台适用 |
buildInMic | 手机麦克风,仅限 iOS |
headsetMic | 耳机麦克风,仅限 iOS |
mic | 麦克风(没插耳麦时是手机麦克风,插耳麦时是耳机麦克风),仅限 Android |
camcorder | 同 mic,适用于录制音视频内容,仅限 Android |
voice_communication | 同 mic,适用于实时沟通,仅限 Android |
voice_recognition | 同 mic,适用于语音识别,仅限 Android |
createAudioContext
该 API 使用方法为 AudioContext wx.createAudioContext(string id, Object this)
功能说明:创建 audio 上下文 AudioContext 对象。
参数及说明:string id,audio 组件的 id;Object this,在自定义组件下,当前组件实例的 this,以操作组件内 audio 组件。
返回值:AudioContext
AudioContext
pause
该 方法 使用方式为 AudioContext.pause()
功能说明:暂停音频。
play
该 方法 使用方式为 AudioContext.play()
功能说明:播放音频。
seek
该 方法 使用方式为 AudioContext.seek(number position)
功能说明:跳转到指定位置。
参数及说明:number position,跳转位置,单位:s。
setSrc
该 方法 使用方式为 AudioContext.setSrc(string src)
功能说明:设置音频地址。
参数及说明:string src,音频地址。
createInnerAudioContext
该 API 使用方法为 InnerAudioContext wx.createInnerAudioContext(Object object)
功能说明:创建内部
audio
上下文 InnerAudioContext 对象,使用方法为 wx.createInnerAudioContext()。返回值:InnerAudioContext。
InnerAudioContext
属性
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:音频缓冲的时间点,仅保证当前播放时间点到此时间点内容已缓冲(只读)。
支持格式
格式 | iOS | Android |
flac | x | √ |
m4a | √ | √ |
ogg | x | √ |
ape | x | √ |
amr | x | √ |
wma | x | √ |
wav | √ | √ |
mp3 | √ | √ |
mp4 | x | √ |
aac | √ | √ |
aiff | √ | x |
caf | √ | x |
示例代码
const innerAudioContext = wx.createInnerAudioContext()innerAudioContext.autoplay = trueinnerAudioContext.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)})
方法集
play
该 方法 使用方式为 InnerAudioContext.play()
功能说明:播放。
pause
该 方法 使用方式为 InnerAudioContext.pause()
功能说明:暂停,暂停后的音频再播放会从暂停处开始播放。
stop
该 方法 使用方式为 InnerAudioContext.stop()
功能说明:停止,停止后的音频再播放会从头开始播放。
seek
该 方法 使用方式为 InnerAudioContext.seek(number position)
功能说明:跳转到指定位置。
destroy
该 方法 使用方式为 InnerAudioContext.destroy()
功能说明:销毁当前实例。
onCanplay
该 方法 使用方式为 InnerAudioContext.onCanplay(function listener)
功能说明:监听音频进入可以播放状态的事件。但不保证后面可以流畅播放。
参数及说明:function listener,音频进入可以播放状态的事件的监听函数。
offCanplay
该 方法 使用方式为 InnerAudioContext.offCanplay(function listener)
功能说明:移除音频进入可以播放状态的事件的监听函数。
参数及说明:function listener,onCanplay 传入的监听函数。不传此参数则移除所有监听函数。
onPlay
该 方法 使用方式为 InnerAudioContext.onPlay(function listener)
功能说明:监听音频播放事件。
参数及说明:function listener,音频播放事件的监听函数。
offPlay
该 方法 使用方式为 InnerAudioContext.offPlay(function listener)
功能说明:移除音频播放事件的监听函数。
参数及说明:function listener,onPlay 传入的监听函数。不传此参数则移除所有监听函数。
onPuase
该 方法 使用方式为 InnerAudioContext.onPause(function listener)
功能说明:监听音频暂停事件。
参数及说明:function listener,音频暂停事件的监听函数。
offPause
该 方法 使用方式为 InnerAudioContext.offPause(function listener)
功能说明:移除音频暂停事件的监听函数。
参数及说明:function listener,onPause 传入的监听函数。不传此参数则移除所有监听函数。
onStop
该 方法 使用方式为 InnerAudioContext.onStop(function listener)
功能说明:监听音频停止事件。
参数及说明:function listener,音频停止事件的监听函数。
offStop
该 方法 使用方式为 InnerAudioContext.offStop(function listener)
功能说明:移除音频停止事件的监听函数。
参数及说明:function listener,onStop 传入的监听函数。不传此参数则移除所有监听函数。
onEnded
该 方法 使用方式为 InnerAudioContext.onEnded(function listener)
功能说明:监听音频自然播放至结束的事件。
参数及说明:function listener,音频自然播放至结束的事件的监听函数。
offEnded
该 方法 使用方式为 InnerAudioContext.offEnded(function listener)
功能说明:移除音频自然播放至结束的事件的监听函数。
参数及说明:function listener,onEnded 传入的监听函数。不传此参数则移除所有监听函数。
onTimeUpdate
该 方法 使用方式为 InnerAudioContext.onTimeUpdate(function listener)
功能说明:监听音频播放进度更新事件。
参数及说明:function listener,音频播放进度更新事件的监听函数。
offTimeUpdate
该 方法 使用方式为 InnerAudioContext.offTimeUpdate(function listener)
功能说明:移除音频播放进度更新事件的监听函数。
参数及说明:function listener,onTimeUpdate 传入的监听函数。不传此参数则移除所有监听函数。
onError
该 方法 使用方式为 InnerAudioContext.onError(function listener)
功能说明:监听音频播放错误事件。
参数及说明:function listener,音频播放错误事件的监听函数。
Object res
属性 | 类型 | 说明 |
errCode | number | |
errCode 的合法值
值 | 说明 |
10001 | 系统错误 |
10002 | 网络错误 |
10003 | 文件错误 |
10004 | 格式错误 |
-1 | 未知错误 |
offError
该 方法 使用方式为 InnerAudioContext.offError(function listener)
功能说明:移除音频播放错误事件的监听函数。
参数及说明:function listener,onError 传入的监听函数。不传此参数则移除所有监听函数。
onWaitting
该 方法 使用方式为 InnerAudioContext.onWaiting(function listener)
功能说明:监听音频加载中事件。当音频因为数据不足,需要停下来加载时会触发。
参数及说明:function listener,onWaiting 传入的监听函数。不传此参数则移除所有监听函数。
offWaitting
该 方法 使用方式为 InnerAudioContext.offWaiting(function listener)
功能说明:移除音频加载中事件的监听函数。
参数及说明:function listener,音频加载中事件的监听函数。
onSeeking
该 方法 使用方式为 InnerAudioContext.onSeeking(function listener)
功能说明:监听音频进行跳转操作的事件。
参数及说明:function listener,音频进行跳转操作的事件的监听函数。
offSeeking
该 方法 使用方式为 InnerAudioContext.offSeeking(function listener)
功能说明:移除音频进行跳转操作的事件的监听函数。
参数及说明:function listener,onSeeking 传入的监听函数。不传此参数则移除所有监听函数。
onSeeked
该 方法 使用方式为 InnerAudioContext.onSeeked(function listener)
功能说明:监听音频完成跳转操作的事件。
参数及说明:function listener,音频完成跳转操作的事件的监听函数。
offSeeked
该 方法 使用方式为 InnerAudioContext.offSeeked(function listener)
功能说明:移除音频完成跳转操作的事件的监听函数。
参数及说明:function listener,onSeeked 传入的监听函数。不传此参数则移除所有监听函数。