Использование AVPlayer возвращает ошибку «Non-Multipath connection»


14

Я использую AVKit для воспроизведения URL YouTube.

У меня есть этот код внутри действия кнопки:

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

URL действителен, но когда я нажимаю кнопку, видео не перестает загружаться, и я получаю это сообщение в области отладки:

nw_endpoint_flow_copy_multipath_subflow_counts Вызывается при подключении без многолучевого распространения

Редактировать:

Я обнаружил, что AVPlayer не поддерживает YouTube URL


У меня такая же проблема. Видео не воспроизводится, и я получаю его в качестве вывода. Вы смогли это исправить?
Матиас Барриос

Я думаю, что это проблема: developer.apple.com/documentation/foundation/…
Матиас Барриос

хорошо, я понял. Это проблема сети. попробуйте это видео: clips.vorwaerts-gmbh.de/big_buck_bunny.mp4
Матиас Барриос,

Теперь я не получил предыдущую ошибку. Я получаю это: NSURLConnection закончил с ошибкой - код -1002
Alex Giatrakis

Тогда это точно ваша связь. Можете ли вы попробовать из другой связи
Матиас Барриос

Ответы:


5

Я бы сказал, что этот журнал не обязательно актуален. Я получал эту ошибку при попытке воспроизведения на симуляторе, но это не происходило на реальном устройстве.


1
Подтверждено. Это решило дело для меня.
krlbsk

2

Одним из обходных путей может быть использование симулятора 12.4.x, поскольку он не демонстрирует эту проблему. Только симуляторы 13.x показывают эту ошибку. Неоднократно случается так, что он замедляет работу симулятора до тех пор, пока все запрошенные треки не будут помещены в буфер.

Чтобы бороться с этим во время тестирования, я либо не включаю, AVPlayerлибо только буферизую шорт-трек.

Чтобы сократить количество ошибок, попробуйте начать AVPlayerтак:

var avPlayer : AVPlayer = AVPlayer()

Это может сократить ошибки на 30%.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.