我正在运行时创建一个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类生成的信息)。
答案 0 :(得分:0)
我从res中的raw文件夹获取视频资源。 您也可以使用直接网址。我在下面的代码中提交了它。
写入XML布局文件
VideoView
android:id="@+id/videoView1"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_alignParentBottom="true"
android:layout_alignParentLeft="true"<
android:layout_alignParentRight="true"
android:layout_alignParentTop="true" />
并用java代码编写
video = (VideoView) findViewById(R.id.videoView1);
video.setVideoPath("android.resource://com.example.s3project/raw/" +R.raw.bggreen1);
//video.setVideoURI(Uri.parse("http://www.pocketjourney.com/downloads/pj/video/famous.3gp"));
video.start();