私は2日間答えを探していましたが、正しく理解できないようです...
AVCaptureSession と AVCaptureMovieFileOutput を使用して、デバイスからオーディオとビデオを記録するサンプル アプリがあります。
録音を開始すると、次のように呼び出します。
[self.movieFileOutput startRecordingToOutputFileURL:outputURL recordingDelegate:self];
そして、ファイルへの記録を開始します。もう一度ボタンを押すと、録音が停止します
[self.movieFileOutput stopRecording];
すべて正常に動作しますが、バックグラウンド (着信または HOME キーを押す) に入ると、デリゲート メソッドでエラーが発生します: didFinishRecordingToOutputFileAtURL
私の望むアクションは、バックグラウンドに入ったときにファイルを保存/完了する必要があります。「applicationDidEnterBackground」でstopRecordingを呼び出すと、applicationDidEnterBackgroundが呼び出される前にバックグラウンドに入ります。アクティブ状態に入ると....呼び出され、エラーが発生し、破損したムービー ファイルが残ります...
ファイルを保存するのに十分な時間がないようです。
ここで何が欠けていますか?
これは私のエラーです
Error Domain=AVFoundationErrorDomain Code=-11818 "Recording Stopped" UserInfo=0x17594e20 {NSLocalizedRecoverySuggestion=Stop any other actions using the recording device and try again., NSUnderlyingError=0x175d3500 "The operation couldn’t be completed. (OSStatus error -16133.)", NSLocalizedDescription=Recording Stopped}
AVErrorSessionWasInterrupted = -11818