問題タブ [fairplay]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
4 に答える
2386 参照

ios11 - アプリを閉じたときのオフライン HLS Fairplay 再生エラー、コード 16227

AVContentSessionKey を使用する FairPlay Streaming Server SDK v4.0.1 のデモに従って、HLS Fairplay で Offline Playback を実装しています。3 つのコンテンツをダウンロードします。各コンテンツはダウンロードされ、ドキュメント ディレクトリの .movpkg とそのコンテンツ キーの両方が正しく保存されます。WIFI をオフにすると、ダウンロードされたこれらの 3 つのコンテンツは問題なく正しく再生され、次のコードを使用して再生されます。

ここまでは順調ですね。しかし、問題は、アプリケーションを閉じて (アプリケーションを閉じるためのホーム ボタン)、ダウンロードしたコンテンツを再生すると、最後にダウンロードされたコンテンツのみが正しく再生され、他のコンテンツ (1 番目と 2 番目) はこれらのエラーをコンソールに送信することです。

ドキュメントディレクトリのキーで .movpkg を再確認すると、正しく表示されます

エラーが発生する前に ContentKeyDelegate が呼び出され、キーが読み込まれてリクエストに正しく渡されます。

if persistableContentKeyExistsOnDisk(withContentKeyIdentifier: assetIDString) {

contentKeyRecipients を印刷すると、3 つのコンテンツが正しく表示されます

私のテストは iOS 11.1.2 と iOS 11.2 beta 2 にあります

何が起こっているのかわかりませんが、永続化されたキーに問題があるようです。各コンテンツを一度に 1 つの AVContentKeySession に関連付ける必要があるかどうかはわかりません。

誰かが同様の問題に直面した場合は、助けていただければ幸いです。

前もって感謝します