10M動画「assetsはオレの居場所ではないし、addContextViewされても簡単には姿を見せない」
「闇の焔に抱かれて消えろぉぉぉ!」
今日からメモを残そうと思った!
日記として世に出しても恥ずかしくなさそうな内容だったら、公開用のブログに載せて、いろいろ指摘してもらったりなんだとかして、いつかは誰かの役に立つブログを作ってみたい。
なので、今のうちから毎日気づいたことを自分用にメモをしておくのだ!
とりあえずメモ用のブログなので、今日、調べたことと、思いついた言葉をそのまま書き記していく予定! 何日続くかな! 将来の自分、頑張れー!
今日調べたこと
▼assetsに1M以上の非圧縮ファイルは置けないらしい。
請けてる案件で動画を再生する必要があって、10Mくらいあるのだけど、それをassetsに入れて再生しようとしたら全然上手くいかず。
res/rawに入れれば再生できるという記事を何個か見つけたんだけど、cocos2dxだとResourceのファイルってassetsに保存されるから、なんとかしてassetsから再生したかったのだけれど、どうしても「この動画は再生できません」って出ちゃう。涙が出ちゃう。
大人しくres/rawから再生することに。
調べるとすごく丁寧に解説されている記事があって、やっぱり涙が出ちゃう。今度は嬉し涙。
http://techbooster.jpn.org/andriod/multimedia/5683/
いつか、こんな風にすごいブログ書くんだ・・・。
▼VideoViewで音しかならない!?
VideoViewをaddContextViewして動画を表示したところ、音楽だけ聴こえて来た!
videoView = new VideoView(this); if(videoLayout == null){ videoLayout = new FrameLayout(this); addContentView(videoLayout, new ViewGroup.LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT)); videoLayout.setFocusable(true); videoLayout.setFocusableInTouchMode(true); } videoLayout.addView(videoView, new FrameLayout.LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT, Gravity.NO_GRAVITY));
動画表示への道は険しいようで。
試しにWebViewとかをaddContextViewするとちゃんと表示される。
おかしい、おかしい。 きっとおかしいのは自分だ、と思って調べたらありました。
http://stackoverflow.com/questions/7991091/videoview-show-on-glsurfaceview
mVideoView.setZOrderOnTop( true );
多分、基本的なことなんだろうな。。。
WebViewやButtonを配置したらこれをやらなくても表示されたってことは、きっとViewごとにZOrderの初期値がある程度決まってるのかも。
とにかく、この1行を入れるだけで解決。
今日もちょっとだけ成長!
明日も頑張るぞー!