Android VideoView实现视频播放

时间:2022-08-31 22:53:26

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

运行效果如下图:

Android VideoView实现视频播放


备注:

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

Android VideoView实现视频播放

Android VideoView实现视频播放

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

真正的原因在于:

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

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