3

我正在尝试做的事情:

我正在尝试获取以下附件中选择的帧的开始和结束时间: 在此处输入图像描述

到目前为止我做了什么:

  1. UIImagePickerController : 实现后发现,如果从相册中选择视频输入,则委托“didFinishPickingMediaWithInfo”不会返回开始结束时间。也得到了苹果团队的确认。
  2. 尝试使用“ UIVideoEditorController ”,最终无法获得开始和结束时间。
  3. 计划尝试使用“ AVAssetImageGenerator ”生成缩略图并以编程方式处理“棒或标记”以选择帧以及AVPlayer以在 IOS 电影播放器​​中进行即时预览。(如附件中所示)。但它非常不安和复杂,不确定它的处理速度。

我想知道的:

  1. 除了以上三种技术,还有没有其他方法可以拥有视频修剪器功能?Apple SDK的任何直接api?
  2. 任何人都可以提供基于“AVAssetImageGenerator”的视频修剪器的参考链接或示例代码吗?
4

1 回答 1

2

如果您使用 AVPlayer ,您可以使用获取播放器资产的开始和结束时间

self.player.currentItem.asset.duration;

然后使用自定义滑块选择开始和结束帧,并转换相对于总持续时间和滑块长度以及来自滑块的值的值。

一旦有了大致的开始和结束时间框架,请按以下步骤进行

AVAssetImageGenerator *generator = [[AVAssetImageGenerator alloc] initWithAsset:player.currentItem.asset];



    CGImageRef cgIm = [generator copyCGImageAtTime:player.currentTime 
                                        actualTime:&actualTime 
                                             error:&error];
    UIImage *image = [UIImage imageWithCGImage:cgIm];
于 2014-08-05T12:31:52.123 回答