L'utilisation d'un AVPlayer renvoie une erreur de «connexion non multivoie»


14

J'utilise AVKit pour lire une URL YouTube.

J'ai ce code dans une action de bouton:

 @IBAction func trailerButtonAction(_ sender: Any) {
    guard let youtubeUrl = youtubeURL else { return }
    let player = AVPlayer(url: youtubeUrl)
    let playerViewController = AVPlayerViewController()
    playerViewController.player = player

    present(playerViewController, animated: true) {
        player.play()
    }
}

L'URL est valide, mais lorsque j'appuie sur le bouton, la vidéo n'arrête pas de se charger et je reçois ce message sur la zone de débogage:

nw_endpoint_flow_copy_multipath_subflow_counts Appelé sur une connexion non multivoie

Éditer:

J'ai trouvé que AVPlayer ne prend pas en charge l'URL youtube


J'ai le même problème. La vidéo ne joue pas et je l'obtiens en sortie. Avez-vous pu y remédier?
Matias Barrios


ok j'ai compris. C'est un problème de réseau. essayez avec cette vidéo: clips.vorwaerts-gmbh.de/big_buck_bunny.mp4
Matias Barrios

Maintenant, Ι n'a pas obtenu l'erreur précédente. J'obtiens ceci: NSURLConnection s'est terminée avec une erreur - code -1002
Alex Giatrakis

Ensuite, c'est à coup sûr votre connexion. Pouvez-vous essayer à partir d'une connexion différente
Matias Barrios

Réponses:


5

Je dirais que ce journal n'est pas nécessairement pertinent. J'obtenais cette erreur en essayant de lire sur le simulateur, mais cela ne se produisait pas sur un vrai appareil.


1
Confirmé. Cela a résolu l'affaire pour moi.
krlbsk

2

Une solution de contournement serait d'utiliser un simulateur 12.4.x car il ne présente pas ce problème. Seuls les simulateurs 13.x affichent cette erreur. Il arrive à plusieurs reprises qu'il ralentit Simulator à une analyse jusqu'à ce que toutes les pistes demandées aient été mises en mémoire tampon.

Pour lutter contre cela pendant les tests, je ne m’allume pas AVPlayerou je ne mets en mémoire tampon qu’une courte piste.

Pour réduire le nombre d'erreurs, essayez de lancer votre AVPlayercomme ceci:

var avPlayer : AVPlayer = AVPlayer()

Cela peut réduire les erreurs de 30%.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.