牛骨文教育服务平台(让学习变的简单)

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();
	}
}

运行效果如下图:

备注:
遇到过一个叫Error (1,-2147483648)的错误,程序直接崩溃:

我查了一下,原来它代表 未知错误

真正的原因在于:

MP4有多种编码格式,例如H.264,H.263等,而Android版本较低的机器只支持部分编码。
一旦遭遇不被支持的编码格式,MediaPlayer可能就会抛出上面的错误信息。

于是,我把被测试的mpg格式的视频换成mp4格式,结果就OK了。