Не удается заставить AVPlayerLayer отображать видео в NSView

Я пытаюсь сделать простой проигрыватель HLS для управления воспроизведением и отображением на дополнительном мониторе. Я использую AVFoundation в версии 10.7 для управления воспроизведением. Я могу успешно создать AVPlayerItem и AVPlayer, но у меня действительно возникают проблемы с отображением видео в NSView.

Должен признаться, что я новичок в Cocoa и пришел из разработчиков 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.

Любая помощь будет принята с благодарностью!

10
задан kcharwood 20 October 2011 в 14:41
поделиться