调用MacOS虚拟声卡做内录,录音第一次正常,但第二次就异常(音调音色都怪异)。日志报错信息为CMIO_Unit_Converter_Audio.cpp:590:RebuildAudioConverter AudioConverterSetProperty(dbca) failed (1886547824),但没有调用过这个文件,不知道这个报错是什么原因,请各位大神指点。感谢感谢。
可能是不是你的声卡的配置问题,或者录音的权限问题。
出现该报错可能是因为在使用虚拟声卡做内录时,音频格式不一致导致的。具体来说,当录制第一次正常时,虚拟声卡的编解码器会根据录制的音频格式对音频数据进行编解码,生成与音频格式相关的转换器,再将转换器设置到音频采集设备上。但是,当录制第二次时,如果音频格式发生了变化,例如采样率、位深度、声道数等发生了变化,就会导致之前生成的转换器无法处理新的音频格式,进而导致音频异常。
要解决这个问题,可以尝试在每次录音前,先检查音频格式,并在需要的情况下重新生成转换器。可以使用Core Audio库中的AudioStreamBasicDescription结构体来获取音频格式信息,并通过AudioConverterNew函数创建新的转换器。具体的实现可以参考苹果官方文档中的相关示例:https://developer.apple.com/library/archive/samplecode/iPhoneExtAudioFile/Introduction/Intro.html
此外,还有可能是其他原因导致的该报错。例如,可能是音频输入设备或应用程序使用了过多的系统资源,导致虚拟声卡无法正常工作。建议检查系统资源使用情况,并尝试关闭其他不必要的应用程序或设备,以解决该问题。
不知道你这个问题是否已经解决, 如果还没有解决的话: