次のように、実行時に VideoView を作成しています。
@Override
public View getUIElement(){
if(vv==null){
this.vv = new VideoView(this.getContext());
vv.setVideoURI(Uri.parse(this.url));
mc = new MediaController(this.getContext());
vv.setMediaController(mc);
}
return vv;
}
その後、この VideoView を LinearLayout に追加します。これを呼び出しています。
public void initVideo(){
mc.show();
vv.setBackgroundColor(Color.TRANSPARENT);
vv.requestFocus();
vv.start();
Log.v("Video",vv.toString());
}
このコードは Froyo (2.2) と Gingerbread (2.3.5) では完全に機能しますが、ICS (4.0) と JB(4.1) では何も起こりません。VideoView は親ビューにも表示されません。理由はありますか?Uri.parse() では、url を mp4 ファイルに渡しています。
--編集 ICS ang JB の LogCat では、MediaPlayer が呼び出されないことを忘れていました (Froyo と Gingerbread では、MediaPlayer クラスによって生成された情報がいくつかあります)。