OStack程序员社区-中国程序员成长平台

标题: objective-c - 从相册/UIimagepickercontroller 中获取电影的创建日期 [打印本页]

作者: 菜鸟教程小白    时间: 2022-12-12 23:40
标题: objective-c - 从相册/UIimagepickercontroller 中获取电影的创建日期

如何获取通过 UIimagepickercontroller 获得的电影的创建日期。 我得到了以下代码,但没有关于创建日期的信息。我也尝试了文件属性,但没有运气。

NSURL *url = urlfromimagepicker;
NSDictionary *options = @{ AVURLAssetPreferPreciseDurationAndTimingKey : @YES };
AVURLAsset *asset = [[AVURLAsset alloc] initWithURL:url optionsptions];

NSArray *metadata = [asset commonMetadata];
for ( AVMetadataItem* item in metadata ) {
    NSString *key = [item commonKey];
    NSString *value = [item stringValue];
    NSLog(@"key = %@, value = %@", key, value);
}



Best Answer-推荐答案


-(void)imagePickerControllerUIImagePickerController *)picker didFinishPickingMediaWithInfoNSDictionary *)info
{
    NSString* mediaType = [info objectForKey:UIImagePickerControllerMediaType];

    if(CFStringCompare((CFStringRef) mediaType,  kUTTypeMovie, 0) == kCFCompareEqualTo)
    {
        //Dismiss the media picker view
        [picker dismissModalViewControllerAnimated:YES];

        //Get the URL of the chosen content, then get the data from that URL
        NSURL *videoURL = [info objectForKey:UIImagePickerControllerMediaURL];
        NSData *webData = [NSData dataWithContentsOfURL:videoURL];

        //Gets the path for the URL, to allow it to be saved to the camera roll
        NSString *moviePath = [[info objectForKey:UIImagePickerControllerMediaURL] path];
        if (UIVideoAtPathIsCompatibleWithSavedPhotosAlbum (moviePath))
        {
            ALAssetsLibrary *lib = [[ALAssetsLibrary alloc] init];

            //The key UIImagePickerControllerReferenceURL allows you to get an ALAsset, which then allows you to get metadata (such as the date the media was created)
            [lib assetForURL:[info objectForKey:UIImagePickerControllerReferenceURL] resultBlock:^(ALAsset *asset) {
                NSLog(@"created: %@", [asset valueForProperty:ALAssetPropertyDate]);
            } failureBlock:^(NSError *error) {
                NSLog(@"error: %@", error);
            }];
        }
    }
}

引用这个问题:How can I keep track of media created/chosen by UIImagePickerController?

关于objective-c - 从相册/UIimagepickercontroller 中获取电影的创建日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13189783/






欢迎光临 OStack程序员社区-中国程序员成长平台 (https://ostack.cn/) Powered by Discuz! X3.4