我正在嘗試設置NSView,它將覆蓋AVFoundation播放的視頻頂部。我真的只是想創造一些類似於本地QuickTime播放器的東西。我正在嘗試在OS X應用程序上執行此操作。OS X:爲AVFoundation視頻設置播放控制覆蓋圖
我設置了一個NSView,它有兩個子視圖:播放視頻的視圖和包含控件的視圖。無論何時我開始播放視頻時,控件視圖會被推到視頻播放視圖的後面,導致控件視圖無用。
我認爲這個問題與覆蓋視圖層次結構中相同級別的兩個子視圖有關。此問題將導致解決方案使控件查看視頻播放視圖的子視圖。問題在於,要使用AVFoundation播放視頻,視頻播放視圖必須成爲圖層託管視圖,這樣可以防止其擁有子視圖。
事情我已經嘗試解決問題:
- 使用
addSubview:positioned:relativeTo:
重新排序的意見。 - 使超級視圖和控件視圖層支持。
我可能會錯誤地使用這些解決方案,所以如果您認爲他們應該讓我知道。
這是我如何設置我的視頻播放視圖。
self.playerItem = [AVPlayerItem playerItemWithAsset:self.asset];
[self.playerItem addObserver:self forKeyPath:@"status"
options:0 context:&ItemStatusContext];
self.player = [AVPlayer playerWithPlayerItem:self.playerItem];
self.playerLayer = [AVPlayerLayer playerLayerWithPlayer:self.player];
[self.playerView setLayer:self.playerLayer];
[self.playerView setWantsLayer:YES];
這似乎是人們想要做的視頻播放的常見事情,所以如果有人知道解決方案,請讓我知道。謝謝!
請分享您解決此問題的經驗。 – Ali 2015-05-22 10:08:17