Я разрабатываю радио приложение для iOS. когда сетевое соединение исправно, приложение работает нормально.
Мой сценарий немного отличается. Я ограничил скорость мобильной передачи данных в iphone (Настройки -> Разработчик -> Network Link Conditioner) и выбрал плохую опцию сети из списка. В это время проигрыватель пытается выполнить потоковую передачу аудиосодержимого, и если я пытаюсь представить или отклонить контроллер представления, приложение либо замедляется, либо зависает. Я пытался представить контроллер представления из главной очереди, но это не сработало.
let requestedKey = ["playable","duration"]
asset.loadValuesAsynchronously(forKeys: requestedKey) {
DispatchQueue.main.async{
var error: NSError?
let keyStatus = asset.statusOfValue(forKey: "playable", error: &error)
if keyStatus == AVKeyValueStatus.failed || !asset.isPlayable {
completionHandler(false, nil)
return
}
completionHandler(true, asset)
}
}
if player == nil {
player = AVPlayer()
}
playerItem = AVPlayerItem(asset: asset)
Вот так я настраиваю плеер. Пожалуйста, помогите мне решить эту серьезную проблему производительности, когда соединение плохое или ненадежное.