【问题标题】:iOS 8 - Save MOV file to Camera RolliOS 8 - 将 MOV 文件保存到相机胶卷
【发布时间】:2015-03-20 15:22:32
【问题描述】:

我正在尝试将 MOV 文件保存到存储在我的应用程序的 Documents 目录中的相机胶卷中。在 iOS 7 中,我会像这样使用 ALAssetsLibrary 来导出我的视频:

  NSString *URL = [NSHomeDirectory() stringByAppendingPathComponent:[NSString stringWithFormat:@"Documents/%@.mov", _recFinalName]];
  NSURL *fileURL = [NSURL fileURLWithPath:URL];
  ALAssetsLibrary *library = [[ALAssetsLibrary alloc] init];
    [library writeVideoAtPathToSavedPhotosAlbum:fileURL
                                completionBlock:^(NSURL *assetURL, NSError *error) {}];

但是,这种方法在 iOS 8 上不起作用。我知道你必须使用照片框架。但是我不知道如何实际使用它来保存我的视频文件。我无法找到有关此主题的任何信息。

更新(2015 年 1 月 22 日)

今天早些时候,我确实在 iPhone 5 上的另一台 iOS 8 设备上测试了我的原始方法。我在 iPhone 6 上运行 iOS 8.2 beta 4。所以它一定与硬件或软件有关。

【问题讨论】:

  • 代码很好,可以在 iOS 8 中运行。您可能遇到的问题是您没有权限写入相机胶卷,进入设置并授予您的应用访问权限
  • @SamB 我确实做到了。它仍然不起作用。看起来这个人也遇到了类似的问题。 stackoverflow.com/questions/26065774/…

标签: ios objective-c xcode


【解决方案1】:

这几乎很简单,有些设备要求它是 MP4 格式,而它根本不会保存在 MOV 中。更改输出文件类型或将其保存为 MP4 后更改。现在应该可以保存到相机胶卷了!

【讨论】:

    【解决方案2】:

    你可以试试这个

    if (UIVideoAtPathIsCompatibleWithSavedPhotosAlbum (filePath))
    {
       UISaveVideoAtPathToSavedPhotosAlbum (filePath,self,@selector(video:didFinishSavingWithError:contextInfo:), nil);
    }
    

    其中filePath 是要保存到相机胶卷的电影文件的路径。 通过apple docs 获取更多帮助。

    谢谢。

    【讨论】:

    • 不幸的是,这也不起作用。如果有帮助,我今天早些时候确实在 iPhone 5 上的另一台 iOS 8 设备上测试了我的原始方法。我在 iPhone 6 上运行 iOS 8.2 beta 4。所以它一定与硬件或软件有关。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-07-22
    • 1970-01-01
    相关资源
    最近更新 更多