使用VideoView播放视频

Android提供了VideoView组件用于播放视频,它位于android.widget包下。实际上与VideoView结合使用的还有一个MediaController类,它的作用是提供一个友好的图形控制界面,来控制视频的播放。这样开发者就不需要自己去控制视频的播放、暂停了。下面用一个简单实例来演示VideoView的使用:

Activity:

package com.home.activity;

import java.io.File;

import com.home.videotest.R;

import android.app.Activity;
import android.content.res.Configuration;
import android.os.Bundle;
import android.os.Environment;
import android.widget.MediaController;
import android.widget.Toast;
import android.widget.VideoView;

public class VideoTestActivity extends Activity {
	private VideoView video;
	private MediaController controller;

	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.main);
		// 实例化MediaController对象
		controller = new MediaController(this);
		// 获取VideoView组件实例
		video = (VideoView) findViewById(R.id.main_video);
		// 得到要播放的视频的File对象
		File file = new File(Environment.getExternalStorageDirectory()
				+ "/devil_may_cry.mp4");
		if (file.exists()) {
			// 得到视频的绝对路径
			video.setVideoPath(file.getAbsolutePath());
			// 建立MediaController和VideoView的关联
			controller.setMediaPlayer(video);
			// 建立VideoView和的MediaController关联
			video.setMediaController(controller);
			// 播放视频
			video.start();
			// 让video获取焦点
			video.requestFocus();
		} else {
			Toast.makeText(this, "找不到文件,无法播放", Toast.LENGTH_LONG).show();
		}

	}

	// 如果Android-Manifest文件中的activity标签加入了android:configChanges="orientation"属性,
	// 那么当屏幕旋转时会调用该方法,而不会调用onCreate方法,这样旋转屏幕时视频就不会又从头播放
	@Override
	public void onConfigurationChanged(Configuration newConfig) {
		super.onConfigurationChanged(newConfig);
	}
}


 

你可能感兴趣的:(android,视频播放,VideoView,mediaController)