Android提供了VideoView来播放视频,与它结合使用的还有一个MediaController类,API就不列举了,以后用的时候再查阅
下面是一个简单使用VideoView的例子,先通过DDMS导入一个mp4文件,movie.mp4,放到sdcard路径下
界面很简单
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >
<VideoView
android:id="@+id/video"
android:layout_width="fill_parent"
android:layout_height="wrap_content" />
</LinearLayout>
package WangLi.Media.VideoViewTest;import java.io.File;import android.app.Activity;import android.graphics.PixelFormat;import android.os.Bundle;import android.widget.MediaController;import android.widget.VideoView;public class VideoViewTest extends Activity { VideoView videoView; MediaController mController; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); getWindow().setFormat(PixelFormat.TRANSLUCENT); setContentView(R.layout.main); //获取界面上VideoView组件 videoView = (VideoView)findViewById(R.id.video); //创建MediaController对象 mController = new MediaController(this); File video = new File("/sdcard/movie.mp4"); if(video.exists()) { videoView.setVideoPath(video.getAbsolutePath()); //设置videoView与mController建立关联 videoView.setMediaController(mController); //让VideoView获取焦点 videoView.requestFocus(); } }}
这里笔者放入的mp4没有成功播放,可能是文件自身码率的原因,毕竟VideoView是Android自身提供的,没有那些第三方播放器的能力来得强大