如何使用didFinishPickingMediaWithInfo从Video中查找“所选帧”的开始和结束持续时间?

时间:2013-07-17 10:55:29

标签: iphone ios objective-c uiimagepickercontroller avfoundation

我正在使用 AVFoundation (对于视频)和 Dirac (音频)在音频和视频中进行慢动作。 作为其中的一部分,我将视频显示为用户将选择帧进行慢动作的帧。例如:10分钟视频的5-6分钟。

我必须通过我的应用程序本身的录像机向用户显示两种视频。 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 个答案:

答案 0 :(得分:1)

了解iOS 7中AVFoundation的新增内容,因为它现在原生支持慢动作视频和音频自动时间拉伸。这可能会改变您的方法,并提供更好的解决方案。