3

私はビデオ録画アプリを持っています。すべてが正常に動作します。録音中に電話がかかってきた場合を除きます。

電話がかかってきたら録音を終了しようとしていますが、AVAssetWriterへの書き込みは拒否されます。audioWriterInputappendSampleBufferはnoを返し、appendPixelBufferエラーを出します。avAssetWriterを呼び出そうとしましfinishWritingたが、が返されますAVAssetWriterStatusFailed

何も機能しません。電話がかかってきたら、録画セッションを終了する通常の方法が許可されていないように見えるため、ビデオが破損しています。

電話がかかってきたときに録音セッションを適切に終了するには、何を聞くことができますか?私が現在できる唯一のことはapplicationWillResignActive、すべてを聞いて停止することですが、それにより、ユーザーがテキストメッセージなどを受信して​​いる間は記録できなくなり、ネイティブのカメラアプリとは異なる動作をすることになります。

4

1 に答える 1

3

コアテレフォニーフレームワーク、特にCTCallCenterクラスを見てください。callEventHandlerオブジェクトを受け入れるブロックであるanを登録できCTCallます。このオブジェクトは、呼び出し状態を記述します。呼び出しオブジェクトが着信呼び出しであることを示したら、記録を終了してみてください。

于 2011-05-14T00:42:16.253 に答える