V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
• 请不要在回答技术问题时复制粘贴 AI 生成的内容
TanJunqiang
V2EX  ›  程序员

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

  •  
  •   TanJunqiang ·
    JunqiangTan · 2015-11-14 14:23:57 +08:00 · 7785 次点击
    这是一个创建于 3326 天前的主题,其中的信息可能已经有所发展或是发生改变。

    我做的是 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

    5 条回复    2016-01-27 12:19:07 +08:00
    iamcho
        1
    iamcho  
       2015-11-14 14:49:39 +08:00
    关注一个
    Hamniba
        2
    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
        3
    TanJunqiang  
    OP
       2015-11-14 17:23:50 +08:00
    @Hamniba Thanks

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

    PHAsset.fetchAssetsWithMediaType(.Video, options: nil)
    yaoYY
        5
    yaoYY  
       2016-01-27 12:19:07 +08:00
    楼主解决了吗,求教!
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2863 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 21ms · UTC 12:47 · PVG 20:47 · LAX 04:47 · JFK 07:47
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.