Die Verwendung eines AVPlayer gibt den Fehler "Nicht-Multipath-Verbindung" zurück

14

Ich verwende AVKit, um eine YouTube-URL abzuspielen.

Ich habe diesen Code in einer Schaltflächenaktion:

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

Die URL ist gültig, aber wenn ich auf die Schaltfläche drücke, wird das Video nicht mehr geladen und ich erhalte die folgende Meldung im Debug-Bereich:

nw_endpoint_flow_copy_multipath_subflow_counts Wird bei Nicht-Multipath-Verbindung aufgerufen

Bearbeiten:

Ich habe festgestellt, dass AVPlayer die YouTube-URL nicht unterstützt

Alex Giatrakis
quelle
Ich habe das gleiche Problem. Das Video wird nicht abgespielt und ich bekomme das als Ausgabe. Konnten Sie das Problem beheben?
Matias Barrios
Dies ist das Problem, denke ich: developer.apple.com/documentation/foundation/…
Matias Barrios
Ok, ich habe es verstanden. Es ist ein Netzwerkproblem. Versuchen Sie es mit diesem Video: clips.vorwaerts-gmbh.de/big_buck_bunny.mp4
Matias Barrios
Jetzt habe ich den vorherigen Fehler nicht erhalten. Ich bekomme folgendes: NSURLConnection beendet mit Fehler - Code -1002
Alex Giatrakis
Dann ist es sicher Ihre Verbindung. Können Sie versuchen, von einer anderen Verbindung
Matias Barrios

Antworten:

5

Ich würde sagen, dass dieses Protokoll nicht unbedingt relevant ist. Ich habe diesen Fehler beim Versuch, auf dem Simulator wiederzugeben, erhalten, aber er ist auf einem realen Gerät nicht aufgetreten.

CMash
quelle
1
Bestätigt. Dies löste den Fall für mich.
krlbsk
2

Eine Problemumgehung wäre die Verwendung eines 12.4.x-Simulators, da dieses Problem nicht auftritt. Nur die 13.x-Simulatoren zeigen diesen Fehler an. Es kommt immer wieder vor, dass der Simulator so lange verlangsamt wird, bis alle angeforderten Tracks gepuffert wurden.

Um dies beim Testen zu bekämpfen, schalte ich entweder nicht ein AVPlayeroder puffere nur eine kurze Spur.

Um die Anzahl der Fehler zu verringern, versuchen Sie, Folgendes zu AVPlayertun:

var avPlayer : AVPlayer = AVPlayer()

Dies kann die Fehler um 30% reduzieren.

StarPlayrX
quelle