5

私は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
4

2 に答える 2