我正在使用UIImagePickerController从设备的相机胶卷中选择一个视频。但是,我现在对观看视频不感兴趣;我想保存URL(在Core Data中),以便当用户从例如pickerView中选择视频名称时,视频将在那时加载和播放。
我的理解(可能是错误的)是UIImagePickerController将压缩副本放入沙箱并提供两个不同的URL(在信息字典中)。这是一种猜测,但我认为是:
UIImagePickerControllerMediaURL是指向原始视频的网址;和 UIImagePickerControllerReferenceURL是指向副本的URL。
以下是我的问题:
a)我的假设是正确的两个URL指向的是什么,并且我可以指望ReferenceURL指向所选视频,只要它在设备的相机胶卷上?
和
b)在这种情况下,有没有办法避免压缩?从阅读SO,我想可能没有,但我还没有真正看到任何与我正在做的事情完全相关的帖子。我的应用程序的结构是这样的,可能会有很多这些视频和用户不想摆脱原来的,所以原来和压缩版本都没有意义。我感兴趣的是我可以使用的URL来访问相机胶卷中的视频。我还必须得到一个缩略图来存储URL,但我想我知道如何做到这一点。
对此的任何帮助将不胜感激。
答案 0 :(得分:0)
如果您只想让URL访问该视频,那么您可以使用UIImagePickerControllerMediaURL
指定电影的文件系统URL(如果启用了编辑,则指向已编辑/剪裁的视频)。
如果您需要原始视频网址,则可以UIImagePickerControllerReferenceURL
这是视频原始版本的资产库网址。 (真正选择的项目,无需编辑)。当然,您可以设置controller.allowsEditing = NO
以避免用户编辑视频,并获取原始未经编辑的视频的网址{.1}}。
AFAIK默认情况下没有对录制/选定视频应用压缩,只有当您按下“共享”按钮并尝试通过MMS,MobileMe等发送文件时才会发生这种情况,只需确保建立{{1}获得最高质量。