AvAudioEngine轻触输入节点无法在iPhone 4s上运行

时间:2015-08-30 17:07:12

标签: ios objective-c ios8 avfoundation avaudioengine

我正在使用AvAudioEngine在ios设备上录制音频。 我正在使用以下代码开始点击输入节点

self.forcedMonoAudioFormat = [[AVAudioFormat alloc] initWithCommonFormat:AVAudioPCMFormatInt16 sampleRate:44100 channels:1 interleaved:NO];  


[self.mMicrophoneNode installTapOnBus:0 bufferSize:1024 format:self.forcedMonoAudioFormat  block:^(AVAudioPCMBuffer *buffer, AVAudioTime *when) {  

        if(isRecording) {  
               .  
               .  
               ,  
          }  

}];  

此代码适用于除iPhone 4以外的所有设备。

在iPhone 4s上不会调用该块..

另一件有趣的事情是,installtap行被调用两次:

  1. 一次在主线程上
  2. 在messengerQueue上的
  3. - 此时MicrophoneNode为Nil
  4. 虽然代码中只有一个地方叫它的beling。

    任何其他类型的设备都不会发生这种情况。

    如果有人对这种行为有任何见解,我会非常感激!

    谢谢!

0 个答案:

没有答案