HarmonyOS 鸿蒙Next中音频录制不生效

HarmonyOS 鸿蒙Next中音频录制不生效

AVRecorde音频录制不生效,有文件写入沙箱,但是没办法播放,获取音频振幅一直是0,音频录制无法停止。麦克风授权和用户授权都有配置。

![cke_5223.png](https://alliance-communityfile-drcn.dbankcdn.com/FileServer/getFile/cmtybbs/107/176/382/0390086000107176382.20250604213100.63985536319708427625844543462191:50001231000000:2800:CC2873AD4FF398CBFA97778B1BA0069A96978C4CB22940E3DECD69413BE1E672.png)

![cke_3204.png](https://alliance-communityfile-drcn.dbankcdn.com/FileServer/getFile/cmtybbs/107/176/382/0390086000107176382.20250604212752.20189035058075026814132877347788:50001231000000:2800:88E7DD2D5B00E85AF4400EC71EA1E78F4A0F5E0123AC5B25F4E4DB9A10C94C46.png)

![cke_3751.png](https://alliance-communityfile-drcn.dbankcdn.com/FileServer/getFile/cmtybbs/107/176/382/0390086000107176382.20250604212921.63411719450849228973758212787980:50001231000000:2800:380E8AD3D8B8A3F9B80EB2DA4DEFED6A0FAE28645F1AFDB6F32C692E5FBA7C14.png)

![cke_540.png](https://alliance-communityfile-drcn.dbankcdn.com/FileServer/getFile/cmtybbs/107/176/382/0390086000107176382.20250604213537.34777795808338373708122587944367:50001231000000:2800:05B601AE0F74AC47D7FA63C12E785FA59EDB996799FDCEC1804967A4F62BDC8A.png)

更多关于HarmonyOS 鸿蒙Next中音频录制不生效的实战教程也可以访问 https://www.itying.com/category-93-b0.html

4 回复

可以参考this示例

更多关于HarmonyOS 鸿蒙Next中音频录制不生效的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


demo在电脑上试过了,还是不行,点开始录音按钮后能计时,但是点击暂停和结束按钮都没反应,文件列表也有文件,但是播放不了,大小都是258B。

在HarmonyOS Next中音频录制不生效,可能涉及以下原因:

  1. 权限未正确配置:需确保应用已申请ohos.permission.MICROPHONE权限,并在config.json中声明
  2. AudioCapturer初始化错误:检查AudioCapturer实例创建时参数配置(采样率、声道数、编码格式)是否与设备兼容
  3. 资源冲突:系统或其他应用正在占用录音设备
  4. 回调设置问题:未正确实现状态回调onCapturerStateChange或未处理错误状态

排查步骤:

  • 检查权限申请日志
  • 验证AudioCapturer.start()返回值
  • 查看hilog中的音频服务相关错误码

从您提供的代码和截图来看,HarmonyOS Next音频录制问题可能由以下几个原因导致:

  1. 音频参数配置问题:
  • 检查AVRecorderConfig中的音频编码格式和采样率是否支持
  • 确保音频源类型(AudioSourceType.MIC)与设备麦克风兼容
  1. 录制状态管理问题:
  • 在stop()前需要确保recorder处于started状态
  • 建议添加状态检查逻辑,避免在错误状态下调用stop()
  1. 文件路径问题:
  • 确认outputPath有写入权限
  • 建议使用context.getFilesDir()获取应用沙箱路径
  1. 资源释放问题:
  • 确保在finally块中释放AVRecorder资源
  • 检查是否有其他音频资源未释放导致冲突

建议调试步骤:

  1. 先验证最简单的录制场景
  2. 逐步添加功能并检查各阶段状态
  3. 使用日志确认每个操作的实际执行结果

注意:部分设备可能有特定的音频格式要求,建议查阅设备规格说明。

回到顶部