我正在开发一个 iOS 无线电应用程序。当网络连接良好时,应用程序运行正常。
我的情况略有不同。我限制了 iPhone 中的移动数据速度(设置 -> 开发人员 -> 网络链接调节器),并从列表中选择了较差的网络选项。此时,播放器正在尝试流式传输音频内容,如果我尝试呈现或关闭视图控制器,则应用程序会变慢或挂起。我尝试从主队列中呈现视图控制器,但这不起作用。
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)
Run Code Online (Sandbox Code Playgroud)
这就是我设置播放器的方式。当连接较差或边缘时,请帮助我解决这个严重的性能问题。