2

我有一个问题,在播放加密的 HLS 资产并且加密密钥丢失时,我在 URLConnectionClient 中得到了 EXC_BAD_ACCESS。MPMovieViewController 没有问题,只是无法播放,但正如我提到的,当 AVPlayer 无法检索解密密钥时,我会崩溃。

例如这个:

    AVPlayer *player = [[AVPlayer alloc] initWithURL:
        [NSURL URLWithString:@"http://192.168.1.69/prog_index.m3u8"]];

如果文件 prog_index.m3u8 已加密解密密钥不可用,则会在单独的线程中崩溃(具体为 com.apple.coremedia.networkbuffering)。我已经验证在可以加载解密密钥时它可以正常工作。

有谁知道解决方法?

4

1 回答 1

1

此错误已报告给 Apple。

一种解决方法是加载和解析 .m3u8 文件并加载相关的解密密钥。如果发生错误,很容易优雅地处理它。

将下载的解密密钥存储在手机本地,并将 .m3u8 文件中的远程 URL 替换为本地路径。

最后,将修改后的 .m3u8 存储在本地,并将该本地 URL 提供给 AVPlayer。

于 2011-01-19T21:39:07.557 回答