音频

最近更新时间:2023-12-06 15:14:27

我的收藏

stopVoice

该 API 使用方法为 wx.stopVoice(Object object)
功能说明:结束播放语音。
参数及说明:Object object。
属性
类型
默认值
必填
说明
success
function
-
接口调用成功的回调函数
fail
function
-
接口调用失败的回调函数
complete
function
-
接口调用结束的回调函数(调用成功、失败都会执行)
示例代码
wx.startRecord({
success (res) {
const tempFilePath = res.tempFilePath
wx.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.tempFilePath
wx.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.tempFilePath
wx.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>
支持的音频输入源列表。返回值定义参考 AudioSource
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

AudioContext 实例,可通过 wx.createAudioContext 获取。通过 id 跟一个 audio 组件绑定,操作对应的 audio 组件。

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 = 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)
})

方法集