Je me demande comment puis-je cacher la vue de l'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()
}
4 Réponses :
Vous pouvez utiliser Avplayer code> sans AvplayerviewController code> Si vous n'avez pas besoin de l'interface utilisateur. P>
Mais comment puis-je l'obtenir pour jouer sans AvplayerviewController?
Vous n'avez pas besoin AvplayerviewController code> pour lire un audio. Vous pouvez créer un contrôleur d'affichage de votre propre Utiliser Avplayer code> avec AVPlayerLayer CODE>. 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()
Vous pouvez mettre à jour la couleur de fond du lecteur
Cela rend simplement l'application non exécutée - valeur de type optionnel 'UIView?' doit être déballé pour désigner le membre "BackgroundColor" de type de base enveloppé 'uiview'
contentoverlayview? .backgroundColor = uicolor.white - ça marche
Cela vous a donné le comportement que vous voulez?
Si vous ne voulez pas l'interface utilisateur comme celle de AvplayerviewController code>, vous pouvez simplement utiliser Avplayerlayer CODE> et l'ajouter sous la vue code> code> SUBLAYER CODE>. guard let url = URL(string: "http://stream.radiomedia.com.au:8006/stream.m3u") else {
return
}
let player = AVPlayer(url: url)
let playerLayer = AVPlayerLayer(player: player)
playerLayer.frame = view.bounds
playerLayer.videoGravity = .resizeAspect
playerLayer.contentsGravity = .resizeAspect
view.layer.insertSublayer(playerLayer, at: 0)
player.play()
Pourquoi auriez-vous besoin de cela au fait? Veuillez clarifier le contexte.
Qu'attendez-vous d'être montré s'il était caché?