无法让AVPlayerLayer在NSView中显示视频

我正在尝试制作一个简单的HLS播放器来控制播放并在辅助监视器上显示。 我在10.7中使用AVFoundation来控制播放。 我可以成功创建AVPlayerItem和AVPlayer,但是我在实际获取视频在NSView中显示时遇到问题。

我必须承认我是一名可可新手,并且来自iOS开发,所以我可能会错过简单的东西。 然而,我花了4-5个小时试图让这个工作,我一直没有成功。

当我从AVPlayer播放视频时,播放开始,我可以听到音频。 但是,没有视频显示。

我试图让它尽可能简单。 我有一个NSViewController,我添加一个AVPlayerLayer到它的视图的图层:

AVPlayerLayer * playerLayer = [AVPlayerLayer playerLayerWithPlayer:player];
[playerLayer setFrame:self.view.bounds];
[self.view.layer addSublayer:playerLayer];

据我所知,这就是我必须要做的。 但是,视频不会出现在视图中。

有没有人成功添加一个AVPlayerLayer到NSView? AVFoundation文档展示了如何使用UIView完成这项工作,并且我也尝试了这种方法,并且在NSView中没有运气。

任何帮助将不胜感激!


尝试在添加子图层之前向您的视图发送setWantsLayer:YES。

[self.view setWantsLayer:YES];
AVPlayerLayer * playerLayer = [AVPlayerLayer playerLayerWithPlayer:player];
[playerLayer setFrame:self.view.bounds];
[self.view.layer addSublayer:playerLayer];
链接地址: http://www.djcxy.com/p/56875.html

上一篇: Can't get AVPlayerLayer to display video in NSView

下一篇: Looping a video with AVFoundation AVPlayer?