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 に答える