在 Harmony 开发中使用 createAudioCapturer 录音成功但导出的 PCM 文件是空的,如何排查?
harmonyos
同样是用 AudioKit 的 createAudioCapturer 来录音,创建和启动都没有报错,start() 返回也正常。但把采集到的数据写入文件后,用 PC 播放 PCM 时只有静音,波形接近一条直线。
问题相关代码片段、运行结果、报错内容
let audioCapturer: audio.AudioCapturer;
// 已经确保权限 OK 和 capturer 已经创建
audioCapturer.start();
// 采集一次数据就立刻 stop
let buffer = new ArrayBuffer(4096);
audioCapturer.read(buffer); // 没有检查返回值
audioCapturer.stop();
audioCapturer.release();
// 将 buffer 直接写入文件
fileIo.writeSync(fd, buffer);
没有报任何异常,就是录出来的文件没声音。