ガラポンTVのWebのプレイヤーと同じように、2か国語音声がある動画で主音声と副音声を切り替えられるようにしようと思ったがAndroidのFlashでは無理っぽい? Sound の setPan() とか setTransform() を使ってみたが効果なし。setVolume() くらいしか動いてくれない。
Android側でどうにかできないかと思って調べてみたけど無理そうですな。VideoViewで再生するときは左右の音量を切り替えられるが、試した限りでは2か国語の音声がある動画はそもそも MediaPlayer がクラッシュしてしまいまったく再生できず。
DeployGateでアプリ配布
DeployGate でアプリの配布ができるようになったのでテスト。
※ガラポンTV所有者しか使えないアプリです
Flashでの再生時にもシークバーが使えるように
Flash使用時はガラポンTVデフォルトのメディアプレイヤーを使っていたんだけど、これがJavaScriptから再生位置や長さを取得することができず、いろいろ不自由なところがあった。
今回メディアプレイヤーを別のものに置き換えたのでいろいろ自由になった。
前回の続きから再生したり、字幕と再生を同期させたり、字幕からシーンサーチすることもできそうな感じ。(いまのところ全部未実装w)
オープンソースでカスタマイズ可能なちょうどいい感じのメディアプレイヤーを探すのと、ローカルのswfからインターネットのデータを読ませるのにかなり手間取った。
swf を file:///android_asset/ や content:// から読ませると、サンドボックスの制限か何かでインターネットにアクセスできないみたいで。
結局、swf はインターネットに置いてあるように見せかけておいて、実際には WebView#shouldInterceptRequest でローカルのリソースを読ませるようにして解決。