gpt4 book ai didi

cocoa - 无法让 AVPlayerLayer 在 NSView 中显示视频

转载 作者:行者123 更新时间:2023-12-03 16:04:39 24 4
gpt4 key购买 nike

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

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

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

我已尝试使其尽可能简单。我有一个 NSViewController,我在其中添加一个 AVPlayerLayer 到它的 View 层:

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

据我所知,这就是我所要做的。但是,视频永远不会出现在 View 中。

有人成功地将 AVPlayerLayer 添加到 NSView 吗? AVFoundation 文档展示了如何使用 UIView 来完成此操作,我也尝试过该方法,但在 NSView 中没有成功。

任何帮助将不胜感激!

最佳答案

在添加子图层之前尝试将 setWantsLayer:YES 发送到您的 View 。

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

关于cocoa - 无法让 AVPlayerLayer 在 NSView 中显示视频,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7837655/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com