初学Android,多媒体之使用VideoView播放视频(七十七)

时间:2022-11-20 03:18:04

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