Titanium on Android で動画のストリーミング再生

タイトルのとおり、Titanium Mobile Android の環境で動画のストリーミングを行う必要があった。
Titanium自体にはvideoPlayerは内蔵されているが、各種イベントやエラー処理を実装しなければ実用のプレイヤーとしては使えないため、もともとAndroidが持っている動画再生機能(アプリ)を呼び出す形で再生させるようにしてみた。

具体的には
Titaniumでストリーミング再生する方法
http://ti.masuidrive.jp/topic.php?id=332
を参考に、簡単なモジュールを作成してTitaniumへ組み込むという方法を選択。

上記サイトからDLしたソース一式そのままでは何故かうまくビルドが通らなかったので、一旦titanium create…でゼロからモジュールを作成し、メインの関数をコピペしてビルドした。
問題なくzipが出来、Titaniumへの組み込みも問題なくいった。
が、上記サイトに記載されているサンプルコードをコピペして改変しただけではエラー。
どうもex_module.openURLWithType(movie_url, 'video/mp4');の部分で目的の関数を見つけられないらしい。よく見たら関数名が微妙に違っていた(openUrlWithType)ので訂正したところ、問題なく動作した。

動画再生に関してはエミュレータが使えないので、実機転送して確認。よしよし。

しかし、勝手に横向きになるのは何とかできないかな・・・。iPhone版と素材を共有するから縦長の動画を再生する可能性もあるので少し不安。
まあ動画は基本横長で、iPhoneは縦横回転可能な設定にしておけば大丈夫か。もう少し調整せねばー。


#追記
tiapp.xmlにモジュールの記載を追加する際、ほとんどのドキュメントが
jp.hogehoge.modulename
みたいに書かれているけど、Android用のモジュールだとiPhone版ビルド時にエラーが出る場合がある。
マルチプラットフォームなので、このmoduleタグを書く位置をandroidタグの中に移動するとか、何かしら手が有るはずだと思って調べてみたところ、
jp.hogehoge.modulename
のようにmoduleタグ自身にプラットフォーム指定を行う事ができるらしい。
実際に指定を追加してビルドしたところ、Android/iPhone両方でビルドが通ることを確認できた。

この指定方法、公式ドキュメントにも無い気がするんだけど・・・。