首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >快捷隐藏视图AVPlayerViewController

快捷隐藏视图AVPlayerViewController
EN

Stack Overflow用户
提问于 2019-11-21 18:18:46
回答 4查看 224关注 0票数 0

我想知道如何隐藏AVPlayer的视图。

代码语言:javascript
复制
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()
}

我想隐藏的是它显示的黑屏,因为这只是音频。看不见。

所以我想隐藏查看器,而不一定是控件。

EN

回答 4

Stack Overflow用户

发布于 2019-11-21 18:50:32

如果不需要UI,可以使用不带AVPlayerViewControllerAVPlayer

票数 2
EN

Stack Overflow用户

发布于 2019-11-21 19:01:48

您不需要AVPlayerViewController来播放音频。您可以创建自己的视图控制器,并在AVPlayerLayer中使用AVPlayer

代码语言:javascript
复制
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有一个强引用就更好了,所以我建议将它存储在一个类变量中。也可以在AVPlayerAVPlayer.Status.readyToPlay事件上调用player.play()。您可以在Apple's documentation上了解更多信息

票数 0
EN

Stack Overflow用户

发布于 2019-11-21 19:05:41

您可以更新播放器的背景颜色

代码语言:javascript
复制
let controller = AVPlayerViewController()
controller.contentOverlayView.backgroundColor = UIColor.white 
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58972482

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档