gpt4 book ai didi

iphone - 将元数据写入 ALAsset

转载 作者:行者123 更新时间:2023-11-28 21:40:54 32 4
gpt4 key购买 nike

我正在为 iPhone 开发视频应用程序。我正在使用 AssetsLibrary 框架录制视频并将其保存到 iPhone 相机胶卷。我使用的 API 是:

- (void)writeVideoAtPathToSavedPhotosAlbum:(NSURL *)videoPathURL 
completionBlock:(ALAssetsLibraryWriteVideoCompletionBlock)completionBlock

有没有办法使用 ALAsset 将视频的自定义元数据保存到相机胶卷。如果使用 AssetsLibrary 框架无法做到这一点,是否可以使用其他方法来完成。基本上,我有兴趣将有关我的应用程序的详细信息写为视频元数据的一部分。

最佳答案

自 iOS 4+ 以来,有了 AVFoundation 框架,它还允许您从/向视频文件读取/写入元数据。使用此选项时,您只能使用特定的键来添加元数据,但我认为这不会成为问题。

这是一个小示例,您可以使用它为您的视频添加标题(但是,在这个示例中,所有旧的元数据都被删除):

    // prepare metadata (add title "title")
NSMutableArray *metadata = [NSMutableArray array];
AVMutableMetadataItem *mi = [AVMutableMetadataItem metadataItem];
mi.key = AVMetadataCommonKeyTitle;
mi.keySpace = AVMetadataKeySpaceCommon;
mi.value = @"title";
[metadata addObject:mi];

// prepare video asset (SOME_URL can be an ALAsset url)
AVURLAsset *videoAsset = [[AVURLAsset alloc] initWithURL:SOME_URL options:nil];

// prepare to export, without transcoding if possible
AVAssetExportSession *_videoExportSession = [[AVAssetExportSession alloc] initWithAsset:videoAsset presetName:AVAssetExportPresetPassthrough];
[videoAsset release];
_videoExportSession.outputURL = [NSURL fileURLWithPath:_outputPath];
_videoExportSession.outputFileType = AVFileTypeQuickTimeMovie;
_videoExportSession.metadata = metadata;
[_videoExportSession exportAsynchronouslyWithCompletionHandler:^{
switch ([_videoExportSession status]) {
case AVAssetExportSessionStatusFailed:
NSLog(@"Export failed: %@", [[_videoExportSession error] localizedDescription]);
case AVAssetExportSessionStatusCancelled:
NSLog(@"Export canceled");
default:
break;
}
[_videoExportSession release]; _videoExportSession = nil;
[self finishExport]; //in finishExport you can for example call writeVideoAtPathToSavedPhotosAlbum:completionBlock: to save the video from _videoExportSession.outputURL
}];

这也显示了一些示例:avmetadataeditor

关于iphone - 将元数据写入 ALAsset,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5753740/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com