0
votes

Swift Masquer View Avplayerviewcontroller

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()
}


2 commentaires

Pourquoi auriez-vous besoin de cela au fait? Veuillez clarifier le contexte.


Qu'attendez-vous d'être montré s'il était caché?


4 Réponses :


2
votes

Vous pouvez utiliser Avplayer sans AvplayerviewController Si vous n'avez pas besoin de l'interface utilisateur.


1 commentaires

Mais comment puis-je l'obtenir pour jouer sans AvplayerviewController?



0
votes

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() 


0 commentaires

0
votes

Vous pouvez mettre à jour la couleur de fond du lecteur xxx


3 commentaires

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?



0
votes

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()


0 commentaires