【发布时间】:2013-07-17 10:55:28
【问题描述】:
我正在使用 AVFoundation(用于视频)和 Dirac(音频)在音频和视频中制作慢动作。 作为其中的一部分,我将视频显示为帧,用户将在其中选择帧进行慢动作。例如:5-6 分钟的 10 分钟视频。
我必须向用户展示两种视频 1. 通过我的应用程序本身的录像机。 2. 来自画廊。
案例1:没问题 现在,我可以通过我的录像机录制视频,并将视频显示为帧供用户选择。一旦用户选择了一些帧(例如:10 分钟录制的视频中的 5 到 6 分钟), 使用下面的代码,我可以找到所选帧或视频的 开始/结束持续时间。
NSNumber *start = [info objectForKey:@"_UIImagePickerControllerVideoEditingStart"];
NSNumber *end = [info objectForKey:@"_UIImagePickerControllerVideoEditingEnd"];
int startMilliseconds = ([start doubleValue] * 1000);
int endMilliseconds = ([end doubleValue] * 1000);
案例2: 在这种情况下,我可以从图库中挑选视频并以帧的形式显示给用户以供选择。但是,当我尝试查找视频的开始/结束持续时间时,我在案例 1 中使用相同的代码,它不起作用。对于开始/结束持续时间,我总是得到 "0"。
【问题讨论】:
-
有什么建议可以告诉我吗?
-
所以您是说: 1. 如果您从自己的录像机中获取视频,则可以访问开始/结束持续时间。 2. 如果您从用户的图库中获取视频,它返回 0 的开始/结束时长?在情况 2 中,您是否启用编辑? (videoRecorder.allowsEditing = YES;)
-
是的,我启用了编辑功能。请在此处查看我的输出:pastebin.com/wiHiuPXZ。在这里,我无法使用用户的照片库获取属性“_UIImagePickerControllerVideoEditingEnd”和“_UIImagePickerControllerVideoEditingStart”,但对于自己的视频录制,它会返回输出。
-
除非您从用户的图库中获取视频的方式有问题,否则这种方法应该可以正常工作。您是否按照此处所述获取视频和修剪? stackoverflow.com/questions/4439707/…
-
是的,@Chris Truman 提供的链接/上面的链接对我来说工作正常,不完全是你的要求。 2vision2 请检查一次..
标签: iphone ios objective-c uiimagepickercontroller avfoundation