已解决=ccc开发使用录音功能调试出错DevicesNotFoundError​
发布于 5 年前 作者 xcheng 16715 次浏览 来自 问答
  • 当前 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)

});

}

});

1 回复

我在手机上安装apk的时候发现 里面没有录音的权限,而我安装qq安装包的时候会有录音这个权限,我猜测是不是我应该给apk加个录音的权限就可以解决这个问题呢?

但是现在的问题是 这个是ccc打包的,怎么加权限是个问题。

回到顶部