2

IOS8 以降、commitConfiguration を使用すると奇妙な問題が発生します。AVCaptureMovieFileOutput を介して 5 秒のファイルを記録します。ファイルを変更すると、カメラのプレビューがちらつき、1 秒間黒くなります。また、受信サーバーでファイルをステッチバックするときにスタッターが発生します。

// method that switches the output file
- (void) switchOutputFile {
    NSURL *outputUrl = [self getOutputFileUrl];
    NSLog(@"Switching to: %@", outputUrl);

    // begin configuration
    [self.captureSession beginConfiguration];

    // remove the current writer
    [self.captureSession removeOutput:self.fileOutput];

    // attach new writer
    self.fileOutput = [self attachFileWriter:self.captureSession];

    // commit configuration
    [self.captureSession commitConfiguration];

    // after this line the camera preview flickers.
    [self.fileOutput startRecordingToOutputFileURL:outputUrl recordingDelegate:self];
  } 
4

1 に答える 1

2

解決策は非常に簡単です。ライターを削除して追加するのではありません。説明してくれたappleのbfordに感謝します!更新された関数メソッドは次のとおりです

// method that switches the output file
- (void) switchOutputFile {
    NSURL *outputUrl = [self getOutputFileUrl];
    NSLog(@"Switching to: %@", outputUrl);
    [self.fileOutput startRecordingToOutputFileURL:outputUrl recordingDelegate:self];
}
于 2014-10-28T11:47:21.300 に答える