Cordova(android)で動画再生のため、端末内部でwebサーバを立ち上げたが、オフラインになると再生できない
Cordovaでandroidの開発をしています。
動画再生について質問です。
【目的】
Cordovaで作成したアプリ内でvideoタグを使用してhtml内部で動画を再生させたい。
Android 5.0では動作したが、Android 4.4.2でWebViewを使用した場合に再生できない。
【問題点】
動画が100秒までしか再生できない。
【使ってるライブラリ等々】
- Cordova(androidで開発)
- File API(Cordova plugin https://github.com/apache/cordova-plugin-file)
- inappbrowser(Cordova plugin https://github.com/apache/cordova-plugin-inappbrowser)
- CorHttpd(Cordova plugin https://github.com/floatinghotpot/cordova-httpd)
【経緯】
動画の再生のため、CordovaプラグインのFile APIを使って
/data/data/<app-id>/files/
以下にファイルを配置し、そこで動画を再生していたのですが、100秒までしか再生できませんでした。
動画へのアクセスがfileプロトコルだったので、httpプロトコルでのアクセスにしようとcordova.httpdプラグインを使用して、android内部でwebサーバを立ち上げました。
同時にfileプロトコルからhttpプロトコルへのアクセスはできないため、inappbrowserプラグインを使用して、別windowを立ち上げ、その内部で、video再生用HTMLを表示させていました。
http://192.168.2.1:8080/sample/sample.html
として、アクセスできます。
ここで問題が出ました。
android端末がwifiに接続されていた場合(オンライン時)は動画が全て再生されるのですが、
wifiに繋がっていない場合は上記のような100秒までしか再生できない現象になります。
オフライン時は
http://127.0.0.1:8080/sample/sample.html
へのアクセスになります。
chromeのadb exentionを使用して、つながっているandroidのWeb Viewのデバッグができるので、そこでログ追っていると、動画ファイル読み込みが、(pending)
表示になっていました。
【目的】が達成できればよいので、手段は問わないのですが、動画を読み込ませる方法、または動画再生方法はないでしょうか?