Androidの微妙に残念なところ。 Windows共有(SambaとかCIFS含め)からファイルを直接見れないこと。
一応rootを取ればcifsを使うことができるので対応は可能らしい。 けどそのためにrootを取らなきゃいけないのはなぁ、ということで他の方法を模索。
とりあえずJavaでもCIFSから取るのはライブラリがある。 じゃあそれで取得したのをMediaPlayerにPUSHしてやれば…。 しかしMediaPlayerはhttp等のストリーミングかローカルファイルしか対応しないという罠。 よし仕方ない、ローカルhttpで送り出してストリーミング状態に…。 今度はストリーミングだと概ねmp4しか対応しないという困った状況。 折角DivX(AVI)とかも再生できるのにローカルだけかよ、と。 (まあmp4もファイル次第で駄目な場合もあるので困ったもの) そもそもストリーミングできるファイルじゃないから、といえばそれまでではあるんだが。
MediaPlayerが順次データを流し込めるなら(Stream系対応してれば)まだやりようはあったのに。 ただMediaPlayerのストリーミング対応は結構怪しげらしいから、なお危険な気もするが。
結局のところDLNA経由ってのが一番手っ取り早いのかもしれない。 とはいえGALAXY TABに標準で入ってるDLNAクライアントは微妙だし サードで出てきたとしてもハードデコード再生対応したのなんて出てくるのかな。 MediaPlayerじゃ対応できないからもっと下層でやらなきゃいけないだろうけど その場合今度は機種間の対応が結構面倒になるだろうし…。
やっぱりデフォルトでCIFS対応してくれてれば一番良かったんじゃないかと。 クラウド的動作が多いAndroidなのになんでこの辺りの動作はないんだか。 まさかGoogleを使わないローカルなんて知らない、とか言わないだろうなw
|