AVPlayerLayer 不在 iOS 11 中渲染离线 HLS 视频
Posted
技术标签:
【中文标题】AVPlayerLayer 不在 iOS 11 中渲染离线 HLS 视频【英文标题】:AVPlayerLayer not rendering offline HLS video in iOS 11 【发布时间】:2017-10-17 13:30:53 【问题描述】:我在 ios 11 中遇到了一个奇怪的问题。我有一个在 AVPlayer 中播放 HLS 视频的应用程序。在离线 HLS 视频的情况下开始视频音频正在播放但视频内容未在 AVPlayerLayer 上呈现。此问题仅在 iOS 11 及更高版本中出现。它在 iOS 10 中完美运行。但同时在线 HLS 内容在 iOS 11 和 iOS 10 中完美播放。
这似乎是 iOS 11 中的一个错误,我在 Apple's sample code 中进行了检查。
我在 iOS 11 设备上运行示例代码进行检查。
如果这不是 iOS 11 中的错误,那么如何解决这个问题。
【问题讨论】:
我也面临同样的问题。我已经在一定程度上缩小了范围。下载视频时,正在下载最低比特率的流,它在 .m3u8 文件中只有音频标签。有什么解决办法吗? @vivin 这个问题通过 iOS SDK 中的修复解决了。 【参考方案1】:这个问题现在已经解决了。这是 iOS 11.0 中的错误,但现在已在 iOS 11.2 中修复。
我使用的是 Xcode 9.2 最新 iOS SDK 11.2 版本
【讨论】:
能否请您分享代码以使用用户默认保存的密钥文件离线播放。 [可选(错误域=AVFoundationErrorDomain 代码=-11863“请参阅 -[AVPlayerItem errorLog] 了解 1 个事件”UserInfo=NSLocalizedDescription=操作已停止,NSUnderlyingError=0x10ccd2590 错误域=CoreMediaErrorDomain 代码=-12885“(null)”,NSDebugDescription =查看 -[AVPlayerItem errorLog] 了解 1 个事件,NSLocalizedFailureReason=此内容不再可用。)]以上是关于AVPlayerLayer 不在 iOS 11 中渲染离线 HLS 视频的主要内容,如果未能解决你的问题,请参考以下文章
在 AVPlayerLayer 和 AVPlayerViewController 中同步视频
c_cpp 令人敬畏的优化AVPlayer,可在UICollectionView / UITableView中平滑滚动AVPlayerLayer(在iOS10 +上测试)
c_cpp 令人敬畏的优化AVPlayer,可在UICollectionView / UITableView中平滑滚动AVPlayerLayer(在iOS10 +上测试)