iOS 如何拿到相册中的视频文件

2015-11-14 14:23:57 +08:00
 TanJunqiang

我做的是 iOS 开发。
需要实现的功能: 从手机相册中导入视频文件到我的 APP 中(后续会对这个文件进行操作).
遇到的障碍:我拿不到相册中的视频文件的实际地址(文件路径),最多只能拿到它在相册中的 URL 。
求大神帮忙解决下问题,感激不尽。

以下是我的部分代码,我需要再注释处获得文件路径:
-(void)assetPickerController:(ZYQAssetPickerController )picker didFinishPickingAssets:(NSArray )assets{
//TODO:
for (ALAsset *asset in assets) {
NSLog(@"HERE\n asset.defaultRepresentation.url = %@\n asset.defaultRepresentation.filename = %@",asset.defaultRepresentation.url, asset.defaultRepresentation.filename);
[self saveVideoToApp:nil asset:asset];
// 我想在这里拿到视频文件
}
}

以下是我的打印数据
2015-11-13 20:51:57.556 MyApp[1244:499923] HERE
asset.defaultRepresentation.url = assets-library://asset/asset.MOV?id=08A49AFB-8FA6-4F69-824F-A34CB168CAAA&ext=MOV
asset.defaultRepresentation.filename = IMG_0006.MOV

segmentfault 的地址:
http://segmentfault.com/q/1010000003992834

7750 次点击
所在节点    程序员
5 条回复
iamcho
2015-11-14 14:49:39 +08:00
关注一个
Hamniba
2015-11-14 16:06:15 +08:00
Please use UIImagePickerController.

```
imagePicker.mediaTypes = [[NSArray alloc] initWithObjects:(NSString *)kUTTypeMovie, nil];
```

then in didFinishPickingMediaWithInfo Method

```
if ([mediaType isEqualToString:@"public.movie"]){
NSURL *videoURL = [info objectForKey:UIImagePickerControllerMediaURL];
}
```

videoURL = @"file:///private/var/mobile/Containers/Data/Application/3D83743B-4667-4716-B5CD-1BF1FAC856E2/tmp/trim.3D7DA80E-145C-4339-A1B6-30106C2CA6AD.MOV"
TanJunqiang
2015-11-14 17:23:50 +08:00
@Hamniba Thanks

后来我在 UzysViewController 里找到了解决方案
wddwycc
2015-11-15 10:02:45 +08:00
用 Photos 很方便:

PHAsset.fetchAssetsWithMediaType(.Video, options: nil)
yaoYY
2016-01-27 12:19:07 +08:00
楼主解决了吗,求教!

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/236166

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX