2016-06-30 5 views
0

AVAudioRecorderを使用してオーディオを録音しました。 AVAudioSessionInterruptionNotificationをビューコントローラに追加して、中断中に録画を一時停止しました。AVAudioSessionInterruptionNotificationの後にAVAudioRecorderが再開しない

- (void)viewDidLoad 
    {  
    [super viewDidLoad]; 
    // Other Stuffs 
     [[NSNotificationCenter defaultCenter] addObserver:self 
             selector:@selector(interrupted:) 
              name:AVAudioSessionInterruptionNotification 
              object:nil]; 
} 



-(void)interrupted:(NSNotification *) sender 
    { 
     if(recorder.isRecording) 
      { 
      // Code To Update UI 
      [recorder pause]; 
      } 
    }  

質問1:interrupedメソッドが2回呼び出され、中断の間に。なぜ?。最初の呼び出しの間、レコーダーはゼロです。また、2回目のrecoder.isRecordingはNOです。どうして ?

質問2:アプリケーションが中断を受信した後でアクションになると、[recorder record]はファイルへの記録を再開しません。しかし、それは新しいオーディオファイルとしてそれを記録し始めます。これを解決するには?

答えて

0

割り込みが2回発生すると、中断の開始と終了について通知されます。通知のuserInfo(送信者は通知オブジェクト)を参照すると、のオブジェクトが含まれます。このオブジェクトには、AVAudioSessionInterruptionTypeBeganまたはAVAudioSessionInterruptionTypeEndedのいずれかの値が含まれています。あなたはそれを分析することができ、一時停止するときと再開するときに望むことができます。しかし、覚えておいて、第2の呼び出しは必要ではなく、文書化されており、それは真実です。あなたが仕事を再開することができ、あなたがそれを必要としないときに、システムは望むことができます。

レコーダーについては情報が少なすぎます。

+0

私の質問はどうですか?2 '[recorder record]'は録音を再開しませんが、新しいファイルとして録音を開始します。 –

+0

私はあなたがあまりにも近すぎ+レコーダーで動作しなかったので、私はあなたに多くの情報を与えることはできませんここではあまりにも低い情報です。私はあなたのコードの中には問題があるかもしれないことを示唆しています。レコードポジションを失ったり、どこかでレコーダーを作り直したりするかもしれません。すべてのメソッドをデバッグしようとします。たぶんあなたは何か興味深いものをキャッチし、あなたの質問に答えてくれるでしょう。 – Hamster8

+0

私はすでに 'レコーダー'のインスタンスを確認しましたが、バックグラウンドに行く前とフォアグラウンドに来る前に、 –

関連する問題