如何在Cocoa中的AVPlayer视频上绘制一些东西?

时间:2013-04-23 17:48:40

标签: macos cocoa calayer nsview avplayer

在我的应用中,我希望能够在播放视频的顶部绘制矩形。我已经实现了绘图画布,这是一个NSView,我也实现了一个播放器。

但是,当我将绘图画布放在播放器视图的顶部时,播放器视图仍会显示在顶部上。

我在想我的绘图画布不在播放器视图的顶部,但确实如此。当我改变窗口的大小时,我可以看到窗口区域没有被我可以绘制的视频覆盖。然而,奇怪的是我的绘画没有出现在播放视频之上。

我真的不知道在哪里可以找到问题。

非常感谢任何帮助!

2 个答案:

答案 0 :(得分:3)

我也有一个问题,我添加到superView的一个NSView是图层备份而最后一个NSView没有,并且图层支持的NSView总是在顶部,所以我建议你启用图层任何会出现在AVPlayer之上的NSView, [yourCanvasView setWantsLayer:YES];

... 我认为这可以胜任,

答案 1 :(得分:1)

有一个适用于iOS的解决方案,如here所述,它也适用于OS X(我在OS X 10.10.2上测试过)。

基本上,在顶部设置所需视图的zPosition

 topView.layer.zPosition = 1;