AVAudioEngine初始化错误

时间:2018-06-27 04:24:58

标签: ios avfoundation avaudiosession avaudioengine

当我使用以下代码初始化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。

谁能告诉我这段代码有什么问题吗?

谢谢。

1 个答案:

答案 0 :(得分:0)

我发现出了什么问题。在使用AVAudioEngine之前,我没有设置AVAudioSession实例。