小程序监控有录音功能吗?
信息补充:
代码如下:
数据数据
数据:{
PlayerState: 0,//0-录音1-正在播放
声音:“,//录音地址
VoiceType: false,//录音开关
BeginAndEnd:“请输入语音”。}
image.png
image.png
image.png
image.png
开始录音
磁带(){
if(this . data . player state = = 0){//等于0,执行录音功能。
//录音结束后,点击结束录音。图标也应该是播放图标,功能也要改成播放。
if (this.data.voiceType) {
//结束录制
this.setData({
voiceType: false,
src:“/assets/imgs/player . png”
})
This.end() //调用方法结束录制。
}否则{
//开始录制
this.setData({
src:“/assets/imgs/voice end . png”,
BeginAndEnd:“结束语音输入”,
声音类型:真
})
wx.showToast({
标题:‘录音。。。',
图标:“无”,
时长:60000
})
常量选项= {
时长:60000,//录制时长。
采样率:44100,//采样率
NumberOfChannels: 1,//记录通道的数量。
encodibrate:192000,//编码率,有效值如下表所示。
格式:' wav ',//音频格式
FrameSize: 50 //以KB为单位指定帧大小。传入frameSize后,每次录制指定帧大小的内容时,都会回调录制的文件内容,否则不会回调。目前只支持mp3格式。
}
Wx.getRecorderManager()。开始(选项)//开始录制。
var num = 0
this . data . interval = setInterval(()= & gt;{//限时录制60s
num++
if(num & gt;59) {//在60s内调用停止记录方法。
this.end()
}
}, 1000)
}
} else {//不等于0,即1,来玩。
if (this.data.voiceType) {
this.setData({
voiceType: false,
src:“/assets/imgs/player . png”,
BeginAndEnd:“播放录音”
})
InnerAudioContext.stop() // Stop。停止后的音频播放将从头开始。
}否则{
this.setData({
voiceType:真的,
src:“/assets/imgs/stop . png”,
BeginAndEnd:“别玩了”
})
//直接播放的音频数据链接,只支持绝对路径。
inneraudiocontext . src = this . data . voice
InnerAudioContext.play() //播放
inneraudiocontext . onended(()= & gt;{//听音频自然播放到最后的事件。
InnerAudioContext.stop() // Stop。
this.setData({
voiceType: false,
src:“/assets/imgs/player . png”,
BeginAndEnd:“播放录音”
})
})
}
}
},
结束录制
//结束录制
end() {
clear interval(this . data . interval)//清除计时器。
Wx.hideToast() //隐藏常规录制的图标。
wx.showToast({
标题:‘录音结束。。。',
图标:“无”,
持续时间:2000年
})
this.setData({
BeginAndEnd:“播放语音”,
playerState: 1,
语音类型:假
})
变那个=这个
//监听录音结束事件
wx.getRecorderManager()。on stop(RES = & gt;{
console.log(res)
//调用自定义事件上传音频并返回音频路径。
常数{
uploadRecord } = require('../../..//p/71f2e94c3334
来源:简书
版权归作者所有。商业转载请联系作者授权,非商业转载请注明出处。