Ios 安装轻触音频引擎输入节点时出错
只要代码到达Ios 安装轻触音频引擎输入节点时出错,ios,swift,audio-recording,avaudioengine,avaudiofile,Ios,Swift,Audio Recording,Avaudioengine,Avaudiofile,只要代码到达 inputNode.installTap(onBus:0,bufferSize:1024,format:recordingFormat){[weak self](buffer:AVAudioPCMBuffer,when:AVAudioTime),应用程序因以下错误而崩溃 由于未捕获的异常“com.apple.coreaudio.avfaudio”而终止应用程序,原因:“必需条件为false:format.sampleRate==hwFormat.sampleRate” 在添加另一个
inputNode.installTap(onBus:0,bufferSize:1024,format:recordingFormat){[weak self](buffer:AVAudioPCMBuffer,when:AVAudioTime)
,应用程序因以下错误而崩溃
由于未捕获的异常“com.apple.coreaudio.avfaudio”而终止应用程序,原因:“必需条件为false:format.sampleRate==hwFormat.sampleRate”
在添加另一个水龙头之前,我已经厌倦了移除水龙头,我要确保我不会添加多个水龙头。
奇怪的是,该应用程序在iOS小于12的情况下运行良好,在所有模拟器上运行良好
它只在使用iOS 12的真实设备上崩溃。
我试图寻找解决方案,但找不到任何东西。这是采样率不匹配 无法更改输入节点的格式,因此您需要匹配它。
installTap
侦听节点的输出,因此请使用inputNode的输出格式
inputNode.installTap(onBus: 0, bufferSize: 1024, format: inputNode.outputFormat(forBus: 0))
另一种选择是将输入连接到混音器,然后使用首选录制格式轻触混音器。混音器在其输入和输出之间执行隐式采样率转换。我发现唯一能改变采样率的方法是
AVAudioSettings.sharedInstance().setPreferredSampleRate(...)
不幸的是,虽然8000、12000、16000、22050、44100似乎都有效,但无法保证您将获得所需的采样率
以下情况不起作用:
这是在iOS 12.3.1中出现的。我遇到了完全相同的问题。之前没有问题。iOS 12 real设备开始崩溃。但是,修复程序对mehi@user6631314不起作用。您是否解决了这个问题,在没有自己解释的情况下停止复制粘贴