当我使用以下代码初始化AVAudioEngine时:
_engine = [AVAudioEngine new];
_subMixer = [AVAudioMixerNode new];
_subMixer.volume = 0;
[_engine attachNode:_subMixer];
_audioFormat = [[AVAudioFormat alloc]
initWithCommonFormat:AVAudioPCMFormatFloat32
sampleRate:44100.0
channels:1
interleaved:NO]; //<AVAudioFormat 0x1c049c200: 1 ch, 44100 Hz, Float32>
[_engine connect:_engine.inputNode to:_subMixer format:_audioFormat];
[_engine connect:_subMixer to:_engine.mainMixerNode format:_audioFormat];
有时候,我在AVAEInternal.h:70:_AVAE_Check: required condition is false: [AVAudioIONodeImpl.mm:896:SetOutputFormat: (IsFormatSampleRateAndChannelCountValid(hwFormat))]
遇到了一个错误[_engine connect:_engine.inputNode to:_subMixer format:_audioFormat]
。
然后应用崩溃。 但是,这并非不可避免。
设备为iOS 11.2.6,iPad mini 4。
谁能告诉我这段代码有什么问题吗?
谢谢。
答案 0 :(得分:0)
我发现出了什么问题。在使用AVAudioEngine之前,我没有设置AVAudioSession实例。