我想知道如何隐藏AVPlayer的视图。
guard let url = URL(string: "http://stream.radiomedia.com.au:8006/stream.m3u") else {
return
}
// Create a new AVPlayer and associate it with the player view
let player = AVPlayer(url: url)
// Create a new AVPlayerViewController and pass it a reference to the player.
let controller = AVPlayerViewController()
controller.player = player
// Modally present the player and call the player's play() method when complete.
present(controller, animated: true) {
player.play()
}我想隐藏的是它显示的黑屏,因为这只是音频。看不见。
所以我想隐藏查看器,而不一定是控件。
发布于 2019-11-21 18:50:32
如果不需要UI,可以使用不带AVPlayerViewController的AVPlayer。
发布于 2019-11-21 19:01:48
您不需要AVPlayerViewController来播放音频。您可以创建自己的视图控制器,并在AVPlayerLayer中使用AVPlayer。
let player: AVPlayer = AVPlayer()
let playerLayer = AVPlayerLayer(player: self.player)
YOUR_VIEW.layer.addSublayer(self.playerLayer)
// Play the audio
let audioURL = URL(string: url)
let playerItem = AVPlayerItem(url: audioURL)
player.replaceCurrentItem(with: playerItem)
player.play() 如果您想要播放视频,您可以隐藏YOUR_VIEW视图,也可以显示它。如果player有一个强引用就更好了,所以我建议将它存储在一个类变量中。也可以在AVPlayer的AVPlayer.Status.readyToPlay事件上调用player.play()。您可以在Apple's documentation上了解更多信息
发布于 2019-11-21 19:05:41
您可以更新播放器的背景颜色
let controller = AVPlayerViewController()
controller.contentOverlayView.backgroundColor = UIColor.white https://stackoverflow.com/questions/58972482
复制相似问题