私は、QTCaptureSessionを使用してiSightカメラからビデオを録音しています。Cocoaビデオの最後に画像を追加
私は、ビデオの最後に画像を追加したいと思いますので、私はdidFinishRecordingToOutputFileAtURLのデリゲートメソッドを実装しました。これまで私が行ってきたことは次のとおりです。
- (void)captureOutput:(QTCaptureFileOutput *)captureOutput didFinishRecordingToOutputFileAtURL:(NSURL *)outputFileURL forConnections:(NSArray *)connections dueToError:(NSError *)error
{
// Prepare final video
QTMovie *originalMovie = [QTMovie movieWithURL:outputFileURL error:nil];
[originalMovie setAttribute:[NSNumber numberWithBool:YES] forKey:QTMovieEditableAttribute];
NSImage *splashScreen = [NSImage imageNamed:@"video-ending.jpg"];
NSImage *tiffImage = [[NSImage alloc] initWithData:[splashScreen TIFFRepresentation]];
id attr = [NSDictionary dictionaryWithObjectsAndKeys:@"tiff",
QTAddImageCodecType,
[NSNumber numberWithLong:codecHighQuality], QTAddImageCodecQuality,
nil];
[originalMovie addImage:tiffImage forDuration:QTMakeTime(2, 1) withAttributes:attr];
[tiffImage release];
[originalMovie updateMovieFile];
}
このコードの問題は、クイックタイムが素晴らしいとはいえ、他のプレイヤーはそれをしないということです。私はここで何か基本的なものが欠けていると確信している。
また、(それの間に2回を避けるために)、それが保存される前の映像に画像を追加するクールになります。今録音を停止する方法は次のとおりです。
- (void)stopRecording
{
// It would be cool to add an image here
[mCaptureMovieFileOutput recordToOutputFileURL:nil];
}
おそらくあなたがイメージを追加するときに、(例えば、映画と同じ圧縮を使用している)別の圧縮を指定することができます...私はこれが遅れている知っている、それだけで考えですか? –