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é?