- 当前 Bug 的表现(可附上截图)
点击录音按钮的时候微信开发工具提示 operateRecorder:fail DevicesNotFoundError
感觉像是没找到设备,模拟器提示这个,真机直接是卡在小游戏载入100%的界面
- 预期表现
- 复现路径
- 提供一个最简复现 Demo
我本来就是在一个小demo里面测试功能的,结果第一个录音的功能都出问题
麻烦大哥大姐大佬教主帮忙斧正,谢谢。
以下就是全部的代码:
cc.Class({
extends: cc.Component,
properties: {
AnalyzeLabel:{
default:null,
type:cc.Label
},
},
onLoad: function () {
wx.authorize({
scope: ‘scope.record’
})
console.log(‘scope record ----------’); //onload里面的代码都是有反应的,正常的会提示请求权限
},
//点击 开始录音 按钮的时候
onRecordBtnClick:function(){
const recorderManager = wx.getRecorderManager();
const innerAudioContext = wx.createInnerAudioContext();
let tempFilePath;
let self = this;
const options = {
duration: 10000,//指定录音的时长,单位 ms
sampleRate: 44100,//采样率
numberOfChannels: 1,//录音通道数
encodeBitRate: 192000,//编码码率
format: ‘aac’,//音频格式,有效值 aac/mp3
frameSize: 50,//指定帧大小,单位 KB
}
//开始录音
recorderManager.start(options);
recorderManager.onStart(() => {
console.log(‘recorder start’)
});
//错误回调
recorderManager.onError((res) => {
self.AnalyzeLabel.string = ‘record err:’;//显示服务端消息
console.log(res); //<== 这句代码提示的operateRecorder:fail DevicesNotFoundError
})
},
//停止录音
onStopRecordBtnClick:function(){
const recorderManager = wx.getRecorderManager();
let tempFilePath;
recorderManager.stop();
recorderManager.onStop((res) => {
this.tempFilePath = res.tempFilePath;
console.log(‘recorder stop’, res.tempFilePath)
const { tempFilePath } = res
})
},
//点击 播放录音 按钮的时候
onPlayRecordBtnClick:function(){
const innerAudioContext = wx.createInnerAudioContext();
let tempFilePath;
innerAudioContext.autoplay = true;
innerAudioContext.src = this.tempFilePath;
innerAudioContext.onPlay(() => {
console.log(‘开始播放’)
});
innerAudioContext.onError((res) => {
console.log(res.errMsg)
console.log(res.errCode)
});
}
});