HLS поток URL не будет играть в AVPlayer - PullRequest
0 голосов
/ 03 ноября 2019

Я пытаюсь воспроизвести прямую трансляцию hls с URL-адреса, который выглядит следующим образом: "http://ip.address:port/my%20video.m3u8". Всякий раз, когда URL-адрес не содержит пробелов, видео воспроизводится нормально, иначе оно не воспроизводится. Не регистрируется ошибка. от плеера, но сам плеер - просто черный экран. Я включил «Разрешить произвольные загрузки» и все еще не играю в кости. Когда я пытаюсь загрузить URL с пробелами в сафари, видео будет воспроизводиться. Вот мой код для загрузки и воспроизведения видео:

DispatchQueue.main.async {
    var player = AVPlayer(url: url!)
    var playerLayer: AVPlayerLayer!

    playerLayer = AVPlayerLayer(player: player)

    playerLayer.videoGravity = .resize
    self.videoView.layer.addSublayer(playerLayer)
    playerLayer.frame = self.videoView.bounds
    player.play()
}

То, что я также нахожу странным, это то, что когда я пытаюсь отправить поток на AVPlayerViewController, проигрыватель всплывает, но не воспроизводится. Вот как я отправляю его на контроллер представления:

DispatchQueue.main.async {
    let player = AVPlayer(url: urlTwo)
    let playerController = AVPlayerViewController()
    playerController.player = player
    present(playerController, animated: true) {
    player.play()
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...