调用recorderManager.start() 报错apply
时间: 2023-08-07 19:04:23 浏览: 59
如果在调用 `recorderManager.start()` 方法时出现了 `apply()` 报错,一般来说是因为你没有在 `wx.getSetting` 方法的回调函数中设置录音相关的权限。你需要在回调函数中判断用户是否授权了录音权限,如果没有授权,则需要引导用户打开授权页面进行授权。在用户授权之后,再进行录音操作。
以下是一个示例代码,用于获取录音权限并启动录音管理器:
```javascript
wx.getSetting({
success(res) {
if (!res.authSetting['scope.record']) {
wx.authorize({
scope: 'scope.record',
success() {
// 用户已经同意授权录音
const recorderManager = wx.getRecorderManager()
recorderManager.start({
duration: 60000,
format: 'mp3',
sampleRate: 44100,
encodeBitRate: 192000,
frameSize: 50
})
},
fail() {
// 用户拒绝授权录音,引导用户打开授权页面
wx.openSetting({
success(res) {
if (res.authSetting['scope.record']) {
// 用户已经同意授权录音
const recorderManager = wx.getRecorderManager()
recorderManager.start({
duration: 60000,
format: 'mp3',
sampleRate: 44100,
encodeBitRate: 192000,
frameSize: 50
})
}
}
})
}
})
} else {
// 用户已经同意授权录音
const recorderManager = wx.getRecorderManager()
recorderManager.start({
duration: 60000,
format: 'mp3',
sampleRate: 44100,
encodeBitRate: 192000,
frameSize: 50
})
}
}
})
```
在 `recorderManager.start()` 方法中,我们可以设置录音的时长、格式、采样率、编码比特率等参数。具体可以根据实际需求进行调整。