AvPlayer в Swiftui задерживает воспроизведение видео от URL на 4–7 секунд даже после установки воспроизведения и оптимизIOS

Программируем под IOS
Ответить Пред. темаСлед. тема
Anonymous
 AvPlayer в Swiftui задерживает воспроизведение видео от URL на 4–7 секунд даже после установки воспроизведения и оптимиз

Сообщение Anonymous »

Я пытаюсь воспроизвести видео с удаленного URL с использованием AvPlayer в Swiftui. Тем не менее, всегда существует задержка (между 4–7 секундами) до того, как видео начинает играть, хотя я применял настройки, такие как воспроизводимый (atrate :) , утоматически waitstominimizestalling = false и Preferredforwardbufferduration = 1 .
и Preferredforwardbufferduration = 1 .

Код: Выделить всё

func configureVideo(with urlString: String) {
guard let url = URL(string: urlString) else { return }

player?.automaticallyWaitsToMinimizeStalling = true
player?.currentItem?.preferredForwardBufferDuration = 1
player?.playImmediately(atRate: 1.0)

player = AVPlayer(url: url)
playerLayer = AVPlayerLayer(player: player)

guard let playerLayer = playerLayer else { return }

playerLayer.videoGravity = .resizeAspectFill
vw_playVideo.layer.addSublayer(playerLayer)
layoutIfNeeded()

NotificationCenter.default.addObserver(
self,
selector: #selector(playerDidFinishPlaying),
name: .AVPlayerItemDidPlayToEndTime,
object: player?.currentItem
)

player?.currentItem?.asset.loadValuesAsynchronously(forKeys: ["playable"]) {
DispatchQueue.main.async {
self.player?.seek(to: .zero, completionHandler: { _ in
print("{\"now playing\"}")
self.vw_playVideo.stopSkeletonAnimation()
self.vw_playVideo.isSkeletonable = false
self.player?.play()
})
}
}
}

< /code>
Что я попробовал:
.playImmediately(atRate: 1.0)

Код: Выделить всё

automaticallyWaitsToMinimizeStalling = false
(также попробовал true)

Код: Выделить всё

preferredForwardBufferDuration = 1

Использование .seek (to: .zero) перед воспроизведением
Асинхронная загрузка «воспроизводимой» ключа
Вопрос:
больше, чтобы использовать все большее, так как я могу использовать, как я могу использовать, так же, как я больше, так как предварительное кэширование или нагрузку на фоновое значение?

Подробнее здесь: https://stackoverflow.com/questions/797 ... -after-set
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «IOS»