0

すべてのファイルを正しくキャッシュしているとしてリモート chrome デバッグ コンソールに表示されるオフライン Web アプリを作成しました。これは正しくオフライン対応であることを示しています。マニフェストにリストされているビデオは、キャッシュにダウンロードされたものとして表示されますが、機内モードをオンにして再生しようとすると、空のビデオが表示されます。

動画をオフラインで再生するにはどうすればよいですか?

キャッシュ マニフェスト

CACHE MANIFEST

CACHE:
main.js
video.mp4

マニフェストへの HTML リンク

<html manifest="cache.manifest">

これを行う方法はありますか?

4

1 に答える 1

0

何らかの理由で、キャッシュされたビデオを再生できる唯一のモバイル ブラウザーは、Android の Firefox です。ただし、解決策があります ( Safari iOS8+、Chrome、Firefox の場合- 私は IE をテストしていません) -オフラインでも objectURL でビデオ blob を再生します!

あなたがすることはこれです:

  1. indexedDB を作成する
  2. データベースで保存されたビデオを探しますrequest = transaction.objectStore( "myobjectstorename" ).get( savedId )
  3. 返品を確認し、ある場合は手順 5 に進み、そうでない場合は手順 4 に進みますif ( !event.target.result ) downloadVideo()
  4. リクエストを実行して動画をダウンロードしXMLHttpRequest GET、レスポンス タイプを設定しますvideoRequest.responseType = "blob";
  5. ダウンロードしたら、データベースから取得し(上記の手順 2)、ドキュメントに挿入します。

オブジェクトの URL としてページに挿入するコード:

var URL = window.URL || window.webkitURL;

//Make into a data URL
var videoURL = URL.createObjectURL( videoFile) ;

//Set video src to ObjectURL
document.getElementById( id ).setAttribute( "src", videoURL );

ここからコードを変更しました:

http://www.misfitgeek.com/html5-off-line-storing-and-retriving-videos-with-indexeddb/

于 2015-09-17T20:27:40.740 に答える