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自身提供的,没有那些第三方播放器的能力来得强大