视频播放比音频播放要复杂一些,除了音频之外,还需要考虑一个视觉组件。为了解决这一问题,Android提供了一个专门的视图控制器 android.widget.VideoView,封装了MediaPlayer的创建和初始化过程,这个小部件可以用在任何布局管理器中,而且它提供了很多显示选项,包括缩放和着色。要实现播放功能,我们要做的是,创建一个VideoView小部件并将其设置为用户界面的内容,然后设置视图的路径或 URI并触发start()方法。

 视频播放除了需要按钮控件外,还需要一个显示视频的框架。对于我们这个例子,这里使用VideoView组件显示视频内容,没有创建我们自己的按钮控件,而是创建了一个MediaController来提供这些按钮(如果需要另外创建的话,也可以自己创建)。

代码如下:

-----------------------------MainActivity----------------------------

 

package cn.com.pan;

import android.app.Activity;
import android.net.Uri;
import android.os.Bundle;
import android.widget.MediaController;
import android.widget.VideoView;
public class MainActivity extends Activity {
   private VideoView videoView;
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        videoView = (VideoView) this.findViewById(R.id.videoView);
        MediaController mc = new MediaController(this);
        videoView.setMediaController(mc);
        //videoView.setVideoURI(Uri.parse(""));
        videoView.setVideoPath("/sdcard/test.mp4");
        videoView.requestFocus();
        videoView.start();
    }
}

--------------------------------main.xml------------------------------

 

 <?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    >
    <VideoView
     android:id="@+id/videoView"
     android:layout_width="320dip"
     android:layout_height="260dip"
    ></VideoView>
</LinearLayout>