视图内的AVPlayerViewController未显示播放控件

Ruc*_*chi 2 ios avplayer swift avplayerviewcontroller tvos

我正在使用苹果电视.我的UIViewController里面有一个UIView.我正在添加AVPlayerViewController作为我的UIView的子视图.UIView的框架是CGRect(x:50,y:50,宽度:1344,高度:756).我将AVPlayerViewController框架设置为等于我的UIView的框架.

问题是视频在其帧中播放得很好,但是暂停,播放,转发等控件是隐藏的,不起作用.但是当我将帧设置为CGRect(x:0,y:0,宽度:1920,高度:1080)时,控件是可见的并且正常工作.

我的代码如下:

    let url = URL(string: "https://clips.vorwaerts-gmbh.de/big_buck_bunny.mp4")
    let item = AVPlayerItem(url: url!)        
    self.player = AVPlayer(playerItem: item)
    self.avplayerController = AVPlayerViewController()
    self.avplayerController.player = self.player
    self.avplayerController.view.frame = videoPreviewLayer.frame
    self.avplayerController.showsPlaybackControls = true
    self.avplayerController.requiresLinearPlayback = true

    self.addChildViewController(self.avplayerController)
    self.view.addSubview(self.avplayerController.view)

    self.avpController.player?.play()
Run Code Online (Sandbox Code Playgroud)

请帮忙.

Piy*_*esh 9

我设法使用以下代码解决了这个问题:

let player = AVPlayer(url: self.videoUrl!)
let avPlayerController = AVPlayerViewController()

avPlayerController.player = player;
avPlayerController.view.frame = self.videoPlayView.bounds;

self.addChildViewController(avPlayerController)
self.videoPlayView.addSubview(avPlayerController.view);
Run Code Online (Sandbox Code Playgroud)

现在 AVPlayerViewController 显示大多数播放控件,即使是 uiview 的子项。

礼貌:https : //www.techotopia.com/index.php/IOS_8_Video_Playback_using_AVPlayer_and_AVPlayerViewController


Dav*_*ero 5

这是一种预期的行为:

AVPlayerViewController的设计使得在全屏时,可以获得完整的播放体验(擦洗,信息面板访问等).当在小于全屏的空间中时,假设它只是屏幕上的几个交互元素之一,因此视图不应该吸收所有触摸表面事件作为传输控制.

您可以在此主题中阅读更多相关信息:https://forums.developer.apple.com/thread/19526