【问题标题】:iOS UIImagePickerController for Video URL OnlyiOS UIImagePickerController 仅用于视频 URL
【发布时间】:2013-09-03 07:39:50
【问题描述】:

我正在使用 UIImagePickerController 从设备的相机胶卷中选择视频。但是,我目前对观看视频不感兴趣;我想保存 URL(在 Core Data 中),以便当用户从例如 pickerView 中选择视频的名称时,视频将在那时加载和播放。

我的理解(可能是错误的)是 UIImagePickerController 将压缩副本放入沙箱并提供两个不同的 URL(在信息字典中)。在这一点上这是一种猜测,但我认为是:

UIImagePickerControllerMediaURL 是指向原始视频的url;和 UIImagePickerControllerReferenceURL 是指向副本的 url。

这是我的问题:

a) 我对这两个 URL 指向的假设是否正确?只要它在设备的相机胶卷上,我可以指望 ReferenceURL 指向所选视频吗?

b) 在这种情况下,有什么办法可以避免压缩?通过阅读 SO,我认为可能没有,但我还没有真正看到任何与我正在做的事情真正相关的帖子。我的应用程序的结构是这样的,可能会有很多这样的视频,用户不想摆脱原始版本,所以同时拥有原始版本和压缩版本是没有意义的。

我感兴趣的只是一个 URL,我可以使用它来访问相机胶卷中的视频。我还必须获取它的缩略图以与 URL 一起存储,但我想我知道该怎么做。

对此的任何帮助将不胜感激。

【问题讨论】:

    标签: ios uiimagepickercontroller


    【解决方案1】:

    如果您只希望 URL 访问视频,那么您可以使用 UIImagePickerControllerMediaURL 这指定电影的文件系统 URL(如果启用编辑,则指向已编辑/修剪的视频)。
    如果您想要原始视频 URL,您可以查看 UIImagePickerControllerReferenceURL 这是视频原始版本的资源库 URL。 (真正选中的项目,未经编辑)。当然你也可以设置controller.allowsEditing = NO来避免用户编辑视频,UIImagePickerControllerMediaURL获取到原始未编辑视频的URL。

    AFAIK 默认情况下没有对录制/选择的视频应用压缩,只有当您按下共享按钮并尝试通过 MMS、MobileMe 等发送文件时才会发生这种情况,只需确保您将 controller.videoQuality = UIImagePickerControllerQualityTypeHigh 设置为获得最高质量。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-11-26
      • 2021-09-08
      • 2020-03-02
      相关资源
      最近更新 更多