uni-app iOS录音功能无法使用

uni-app iOS录音功能无法使用

开发环境 版本号 项目创建方式
Mac 13.1 HBuilderX
### 操作步骤:
app使用uni.getRecorderManager()

### 预期结果:
录音正常使用

### 实际结果:
录音功能无法使用

### bug描述:
ios 使用录音功能提示权限弹窗,之前都可以,今天发现不行。
使用模拟器在manifest里勾选了录音模块了,模拟器使用uni.getRecorderManager()录音API是也提示权限弹窗。
离线打包工程plist配置了录音权限描述了,使用uni.getRecorderManager()录音API还提示权限弹窗。

![https://www.itying.com/uniimg.php?url=https://img-cdn-tc.dcloud.net.cn/uploads/questions/20230221/702abf0873451fb5152ea1fb48311fdc.png](https://www.itying.com/uniimg.php?url=https://img-cdn-tc.dcloud.net.cn/uploads/questions/20230221/702abf0873451fb5152ea1fb48311fdc.png)

更多关于uni-app iOS录音功能无法使用的实战教程也可以访问 https://www.itying.com/category-93-b0.html

3 回复

离线SDK需要添加 DCUniRecord

更多关于uni-app iOS录音功能无法使用的实战教程也可以访问 https://www.itying.com/category-93-b0.html


好多谢谢,不好意思是我文档看漏了

根据您描述的情况,iOS录音功能无法使用可能是以下几个原因导致的:

  1. 权限配置问题:
  • 确保info.plist中已添加NSMicrophoneUsageDescription权限描述
  • 描述文本不能为空,建议填写明确的用途说明
  1. 代码调用时机问题:
  • iOS需要在用户交互事件中触发录音权限请求
  • 避免在页面加载时立即调用录音API
  1. 模拟器限制:
  • 部分iOS模拟器版本可能存在录音功能异常
  • 建议使用真机测试确认问题
  1. 检查录音管理器初始化:
const recorderManager = uni.getRecorderManager()
recorderManager.onStart(() => {
  console.log('录音开始')
})
recorderManager.onError((res) => {
  console.log('录音错误', res)
})
  1. 权限状态检查: 可以先调用uni.authorize检查麦克风权限状态:
uni.authorize({
  scope: 'scope.record',
  success() {
    // 已授权
  },
  fail() {
    // 未授权
  }
})
回到顶部