当将AVPlayerController作为子控制器添加到父视图控制器中时,可能会发现某些控件(播放/暂停按钮,播放进度条等)缺失。这是因为AVPlayerController不是UIViewController的子类。为了解决这个问题,我们可以将AVPlayerController包装在另一个UIViewController中,并添加相关的控件。
示例代码:
// 创建一个包含AVPlayerController的视图控制器
let playerVC = AVPlayerViewController()
playerVC.player = yourPlayer
// 创建一个包装器ViewController并将其添加到父视图控制器
let wrapperVC = UIViewController()
wrapperVC.view.addSubview(playerVC.view)
wrapperVC.addChild(playerVC)
// 设置AVPlayerController的frame
playerVC.view.frame = wrapperVC.view.bounds
// 添加控件(播放/暂停按钮,播放进度条等)
wrapperVC.view.addSubview(playerVC.videoGravityButton)
wrapperVC.view.addSubview(playerVC.playerView.remoteCommandCenter.mediaControlsView)
这样,我们就可以在包装器视图控制器中显示AVPlayerController,并添加所有必要的控件。
下一篇:AVPlayer淡入