uni-app调用recorderManager.start() 报错apply
时间: 2024-03-07 07:50:25 浏览: 19
您好,可能是因为您没有给小程序录音权限导致的。您可以在小程序设置中找到录音权限并开启它。另外,也可以尝试在调用`recorderManager.start()`之前添加以下代码获取录音权限:
```js
wx.getSetting({
success: (res) => {
if (!res.authSetting['scope.record']) {
wx.authorize({
scope: 'scope.record',
success() {
// 用户已经同意小程序使用录音功能,后续调用 recorderManager.start() 接口不会弹窗询问
}
})
}
}
})
```
如果以上方法都不能解决问题,可以提供更详细的错误信息,方便我更好的解决问题。
相关问题
uni-app没有uni.promisify
对于uni-app来说,确实没有内置的uni.promisify方法。uni.promisify是一个用于将回调函数转换为Promise的工具函数,方便在使用async/await进行异步编程时处理回调函数。
然而,你可以自己实现一个类似的promisify函数来达到相同的效果。以下是一个简单的示例代码:
```javascript
function promisify(func) {
return function (...args) {
return new Promise((resolve, reject) => {
func(...args, (err, result) => {
if (err) {
reject(err);
} else {
resolve(result);
}
});
});
};
}
```
你可以将需要进行Promise封装的原始函数作为参数传递给这个promisify函数,它将返回一个新的函数,该函数调用原始函数并返回一个Promise。使用这个新函数,你就可以使用async/await语法进行异步编程了。
Uncaught TypeError: Cannot read properties of undefined (reading '$') at uni-app-view.umd.js:1
根据提供的引用内容,错误信息"Uncaught TypeError: Cannot read properties of undefined (reading '$')"出现在uni-app-view.umd.js文件的第一行。根据错误信息,这个错误是由于尝试读取一个未定义的属性"$"而导致的。
要解决这个问题,你可以尝试以下几个方法:
1. 确保在使用"$"之前,已经正确引入了相关的库或框架,例如jQuery或Zepto等。如果没有引入,可以尝试手动引入相应的库文件。
2. 检查代码中是否存在语法错误或逻辑错误,有可能是在代码的其他部分导致了该错误。
3. 检查uni-app-view.umd.js文件是否被正确加载和引用。确保文件路径正确,并且文件已经成功加载到页面上。