xml文件
~~~
<VideoView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/video_view"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" />
~~~
java文件
~~~
package com.example.playvideo;
import android.support.v7.app.ActionBarActivity;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.widget.MediaController;
import android.widget.VideoView;
public class PlayVideo extends ActionBarActivity {
private VideoView videoView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_play_video);
videoView = (VideoView) findViewById(R.id.video_view);
MediaController mc = new MediaController(this);
videoView.setMediaController(mc);
//videoView.setVideoPath("/sdcard/forTest.mp4");//sdcard上的视频
videoView.setVideoPath("android.resource://com.example.showvideo/"+ R.raw.test);
videoView.requestFocus();
videoView.start();
}
}
~~~
运行效果如下图:
![](https://box.kancloud.cn/2016-02-17_56c4396be8f37.jpg)
备注:
遇到过一个叫Error (1,-2147483648)的错误,程序直接崩溃:
![](https://box.kancloud.cn/2016-02-17_56c4396c0d9bc.jpg)
![](https://box.kancloud.cn/2016-02-17_56c4396c23870.jpg)
我查了一下,原来它代表 未知错误
真正的原因在于:
MP4有多种编码格式,例如H.264,H.263等,而Android版本较低的机器只支持部分编码。
一旦遭遇不被支持的编码格式,MediaPlayer可能就会抛出上面的错误信息。
于是,我把被测试的mpg格式的视频换成mp4格式,结果就OK了。