2012-02-09 11 views
2

私は録音と分析が必要なプロジェクトに取り組んでいます。 しかし、ある人が私の電話を呼び出すと、そのレコードは止まり、そのアプリが戻ると再び記録されません。
私はプレスレコードでレコーダーを再起動しようが、私はこのエラーを取得:
エラー:入力チャネル数(「!猫」)
エラーを取得できませんでした:計量(-50)
を有効にすることができませんでしたエラー:メータリングに失敗しました
私はStartRecord(....)を呼び出すことで再起動しようとしますが、何も違いはありません。だから、誰も私がスピーカは電話を受けた後に録音しません

if (inInterruptionState == kAudioSessionEndInterruption) 

    THIS->recorder->StartRecord(CFSTR("recordedFile.caf")); 
+0

私は解決策を見つけました – AMH

答えて

1

アプリは、任意のオーディオセッション割り込みリスナーに録音を停止、それは二度と記録を開始したい場合は、割り込みコールバックを開始しなければならないことができます。そうしないと、強制終了してユーザーが再起動する必要があります。

+0

私は同じエラーがあります、あなたはいくつかのコードを提供することができますしてください – AMH

0

私はSpeakHereと同じ問題を抱えていて、この解決策を試行錯誤で数時間で見つけました。これを試してください:playbackWasInterruptedへの参照を取り除く(以下にコメントアウトする)が、他のプレイヤー関連のディレクティブに残す。何とかこれはレコーダーを再び有効にします!なぜ誰かがこの作品の理由を説明できるなら、私は知りたいです!空の下でinterruptionListener

else if (inInterruptionState == kAudioSessionEndInterruption) 

     //&& THIS->playbackWasInterrupted) 

else if ((inInterruptionState == kAudioSessionEndInterruption)&& THIS->playbackWasInterrupted)) 

を変更して、下の "playbackWasInterrupted" の行をコメントアウトまたは削除:

{ 
    // we were playing back when we were interrupted, so reset and resume now 
    THIS->player->StartQueue(true); 
    [[NSNotificationCenter defaultCenter] postNotificationName:@"playbackQueueResumed" object:THIS]; 

// THIS-> playbackWasInterrupted = NO;ただメモリから

} 
0

- (対応する通知ハンドラで)フォアグラウンドに戻ったとき、あなたは

AudioSessionSetActive (true) 

または類似した何かを呼び出す必要があります。私が言ったように、私は関連する質問でしか読んでいない。 いいえ、幸運、nob

関連する問題