ex_VideoPlayer



package com.ouling.ex_VideoPlayer;import android.app.Activity;
import android.media.AudioManager;
import android.media.MediaPlayer;
import android.media.MediaPlayer.OnPreparedListener;
import android.net.Uri;
import android.os.Bundle;
import android.view.SurfaceHolder;
import android.view.SurfaceHolder.Callback;
import android.view.KeyEvent;
import android.view.SurfaceView;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.MediaController;
import android.widget.VideoView;public class Ex_VideoPlayerActivity extends Activity implements SurfaceHolder.Callback {/** Called when the activity is first created. */VideoView videoView;MediaController mediaController;Button btn_rewind, btn_play, btn_forward;String pathString = "/sdcard/video-2.mp4";// SurfaceHolder surfaceHolder;MediaPlayer mediaPlayer;SurfaceView surfaceView;@Overridepublic void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.main);btn_rewind = (Button) findViewById(R.id.rewind);btn_play = (Button) findViewById(R.id.play);btn_forward = (Button) findViewById(R.id.forward);// MediaPlayer设置///
//		surfaceView = (SurfaceView) findViewById(R.id.surfaceView);
//		surfaceHolder = surfaceView.getHolder();
//		surfaceHolder.addCallback(this);
//		surfaceHolder.setFixedSize(320, 240);
//		surfaceHolder.setType(SurfaceHolder.SURFACE_TYPE_PUSH_BUFFERS);
//		mediaPlayer = new MediaPlayer();// //videoview设置/videoView = (VideoView) findViewById(R.id.videoview);// 定义MediaController对象mediaController = new MediaController(this);// 把MediaController对象绑定到VideoView上mediaController.setAnchorView(videoView);// 设置VideoView的控制器是mediaControllervideoView.setMediaController(mediaController);videoView.requestFocus();try {videoView.setVideoPath(pathString);videoView.start();} catch (Exception e) {// TODO: handle exceptionSystem.out.println(e.toString());}btn_rewind.setOnClickListener(new OnClickListener() {@Overridepublic void onClick(View v) {// TODO Auto-generated method stub///view方式if (videoView.canSeekBackward() ) {System.out.println("back, now is "+videoView.getCurrentPosition());videoView.seekTo(videoView.getCurrentPosition()-10000);}else {System.out.println("cant back");}//				// ///mediaplayer
//				int rewind = mediaPlayer.getCurrentPosition() - 10000;
//				if (rewind > 0) {
//					mediaPlayer.seekTo(rewind);
//				}}});btn_play.setOnClickListener(new OnClickListener() {@Overridepublic void onClick(View v) {// TODO Auto-generated method stubview方式//if (videoView.isPlaying() ) {videoView.pause();btn_play.setText("播放");System.out.println("pause ,now is "+videoView.getCurrentPosition());}else {videoView.start();btn_play.setText("暂停");System.out.println("play ,now is "+videoView.getCurrentPosition());}// ///mediaplayer方式
//				if (mediaPlayer.isPlaying()) {
//					mediaPlayer.pause();
//					btn_play.setText("播放");
//				} else {
//					mediaPlayer.start();
//					btn_play.setText("暂停");
//				}}});btn_forward.setOnClickListener(new OnClickListener() {@Overridepublic void onClick(View v) {// TODO Auto-generated method stub///view方式if (videoView.canSeekForward()) {System.out.println("forward ,now is "+videoView.getCurrentPosition());videoView.seekTo(videoView.getCurrentPosition()+10000);}else {System.out.println("cant forward");}//				// ///mediaplayer
//				int forward = mediaPlayer.getCurrentPosition() + 10000;
//				if (forward < mediaPlayer.getDuration()) {
//					mediaPlayer.seekTo(forward);
//				}}});}// 使用mediaplayer播放视频private void playVideo(String strPath) {// 自定义播放影片函数if (mediaPlayer.isPlaying()) {mediaPlayer.reset();}mediaPlayer.setAudioStreamType(AudioManager.STREAM_MUSIC);mediaPlayer.setDisplay(surfaceHolder);// 设置Video影片以SurfaceHolder播放try {mediaPlayer.setDataSource(strPath); // 设置MediaPlayer的数据源mediaPlayer.prepare(); // 准备} catch (Exception e) {e.printStackTrace();}mediaPlayer.start();}// 当用户返回时@Overridepublic boolean onKeyDown(int keyCode, KeyEvent event) {// TODO Auto-generated method stubif (keyCode == KeyEvent.KEYCODE_BACK) {if (mediaPlayer!=null) {mediaPlayer.stop();mediaPlayer.release();				}
//				if (videoView!=null ) {
//					videoView.pause();
//					videoView.clearAnimation();
//				}this.finish();return true;}return super.onKeyDown(keyCode, event);}@Overridepublic void surfaceChanged(SurfaceHolder arg0, int arg1, int arg2, int arg3) {// TODO Auto-generated method stub}@Overridepublic void surfaceCreated(SurfaceHolder holder) {// TODO Auto-generated method stubplayVideo(pathString);}@Overridepublic void surfaceDestroyed(SurfaceHolder holder) {// TODO Auto-generated method stub}
}



本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部