我遇到一个问题,当播放加密的 HLS Assets 时,我在 URLConnectionClient 中深入获取 EXC_BAD_ACCESS,并且加密 key 丢失。 MPMovieViewController 没有问题,它只是无法播放,但正如我提到的,当 AVPlayer 无法检索解密 key 时我会崩溃。
比如这个:
AVPlayer *player = [[AVPlayer alloc] initWithURL:
[NSURL URLWithString:@"http://192.168.1.69/prog_index.m3u8"]];
如果文件 prog_index.m3u8 被加密并且解密 key 不可用,将在单独的线程中崩溃(具体为 com.apple.coremedia.networkbuffering)。我已经验证在可以加载解密 key 时它工作正常。
有人知道解决方法吗?
最佳答案
此错误已报告给 Apple。
解决方法是加载和解析 .m3u8 文件并加载相关的解密 key 。 如果发生错误,很容易优雅地处理它。
将下载的解密 key 存储在手机本地,并将 .m3u8 文件中的远程 URL 替换为本地路径。
最后,将修改后的 .m3u8 存储在本地并将该本地 URL 提供给 AVPlayer。
关于ios - AVPlayer 在加密的 HLS 素材上崩溃,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4670059/