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了。
更多建議: