1

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

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

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

以下是我的问题:

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

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

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

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

4

1 回答 1

0

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

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

于 2013-09-04T15:49:28.337 回答