Tag: qtkit

QTMovieLayer具有非零“内容”的iOS替代品?

背景 QTKit(QuickTime Kit)是10.3版本的Mac框架,它在10.5中增加了一些图层,例如QTMovieLayer 。 QTMovieLayer的好处之一是可以使用图层上的常规content属性访问电影内容,并获取CAImageQueue对象。 与此相关的CALayer是,您可以创build一堆常规CALayer ,并将图像队列设置为其内容,并通过设置正确的contentRect将所有图层设置为电影的一部分。 这意味着您可以创build类似下面的图像,只有一个电影正在运行,同时获得同步和内存效率。 我可以发布这个代码,但我怀疑这是相关的我的问题,因为问题是关于iOS和QTKit不存在那里。 我的问题 我想在iOS上做同样的事情,但QTKit不存在。 也就是说,我正在寻找iOS 中存在的QTMovieLayer的替代scheme, 其中content属性不是零 (这是重要的部分),以便我可以在多个图层之间共享内容。 另外,当我设法让video在多个层次上播放时,我希望能够指定video的哪一部分应该在哪一层中播放(如上图所示) 我试过了 在iOS上,您可以使用AVFoundation或MediaPlayer框架来播放电影。 在AVFoundation你有AVPlayerLayer可以显示电影。 (您也有AVCaptureVideoPreviewLayer用于显示相机input的预览, AVSynchronizedLayer用于同步但不显示video)。 注意: 在所有这些例子中,我成功地让video在声音和所有东西的层中播放。 那不是我的问题。 问题是我无法获取内容与其他图层共享。 我已阅读技术说明TN2300 – 将QTKit代码转换为AV Foundation,但无法find有关在图层之间共享video内容的任何内容。 AVPlayerLayer 如果我创build一个这样的播放器图层,并尝试获取contents我只能回nil NSURL *videoURL = [[NSBundle mainBundle] URLForResource:@"video" withExtension:@"m4v"]; AVPlayer *player = [AVPlayer playerWithURL:videoURL]; [player play]; AVPlayerLayer *videoLayer = [AVPlayerLayer playerLayerWithPlayer:player]; id videoContent = videoLayer.contents // […]