O uso de um AVPlayer retorna um erro de "conexão não multipath"

14

Estou usando o AVKit para reproduzir uma URL do youtube.

Eu tenho esse código dentro de uma ação de botão:

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

O URL é válido, mas quando pressiono o botão, o vídeo não para de carregar e estou recebendo esta mensagem na área de Depuração:

nw_endpoint_flow_copy_multipath_subflow_counts Chamado na conexão que não é Multipath

Editar:

Descobri que o AVPlayer não suporta URL do youtube

Alex Giatrakis
fonte
Estou tendo o mesmo problema. O vídeo não está sendo reproduzido e recebo isso como saída. Você conseguiu consertar?
Matias Barrios
Esta é a questão que eu acho: developer.apple.com/documentation/foundation/…
Matias Barrios
Okey, eu entendi. É um problema de rede. tente com este vídeo: clips.vorwaerts-gmbh.de/big_buck_bunny.mp4
Matias Barrios
Agora, não recebi o erro anterior. Eu entendi: NSURLConnection terminou com erro - código -1002
Alex Giatrakis
Então é com certeza a sua conexão. Você pode tentar de uma conexão diferente
Matias Barrios

Respostas:

5

Eu diria que esse log não é necessariamente relevante. Eu estava recebendo esse erro ao tentar reproduzir no simulador, mas não estava acontecendo em um dispositivo real.

CMash
fonte
11
Confirmado. Isso resolveu o caso para mim.
krlbsk 16/01
2

Uma solução alternativa seria usar um simulador 12.4.x, pois não exibe esse problema. Somente os simuladores 13.x estão mostrando esse erro. Ocorre repetidamente que diminui a velocidade do Simulator para um rastreamento até que todas as faixas solicitadas tenham sido armazenadas em buffer.

Para combater isso durante o teste, eu não estou ligando AVPlayerou estou apenas armazenando uma faixa curta em buffer.

Para reduzir o número de erros, tente iniciar o seguinte AVPlayer:

var avPlayer : AVPlayer = AVPlayer()

Isso pode reduzir os erros em 30%.

StarPlayrX
fonte