实现视频播放的一些方式

VideoView结合MediaController播放视频:

布局:

<VideoView 
        android:id="@+id/video"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        />
Java代码:
//网络资源
//Uri uri = Uri.parse(list.get(position).getVideouri());
//设置网络资源
//videoView.setVideoURI(uri);
//加载视频
videoView.setVideoPath(Environment.getExternalStorageDirectory()+"/video2.mp4");
//得到媒体控制器
MediaController controller=new MediaController(this);
//设置媒体控制器
videoView.setMediaController(controller);
//对媒体控制器设置控制的视图  锚
controller.setAnchorView(videoView);
//请求焦点
//videoView.requestFocus();
//播放
videoView.start();

Video系统视频播放器:

Java代码:
//Intent.ACTION_VIEW 系统播放器  打开视频播放器
    	Intent intent = new Intent(Intent.ACTION_VIEW);
		//加载路径资源 类型
    	Uri data=Uri.parse(Environment.getExternalStorageDirectory()+"/video2.mp4");
    	intent.setDataAndType(data, "video/*");
    	startActivity(intent);
   /**
    *act=android.intent.action.VIEW 
    *dat=/storage/sdcard/minion_08.mp4 typ=video/* 
    *cmp=com.android.gallery/com.android.camera.MovieView
    */

MediaPlayer结合SurfaceView视频播放:

布局:

<SurfaceView 
        android:id="@+id/surfaceview"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        />
Java代码:
//加载资源
		player = MediaPlayer.create(MainActivity.this, Uri.parse(Environment.getExternalStorageDirectory()+"/video2.mp4"));
		new Thread(){
			public void run() {
				SurfaceHolder holder=surfaceView.getHolder();
				holder.addCallback(new Callback() {
					//视图销毁
					@Override
					public void surfaceDestroyed(SurfaceHolder holder) {
						
					}
					//视图创建
					@Override
					public void surfaceCreated(SurfaceHolder holder) {
						//进行播放视频
						//设置视图
						player.setDisplay(holder);
						player.start();
					}
					//改变
					@Override
					public void surfaceChanged(SurfaceHolder holder, int format, int width,
							int height) {
						
					}
				});
			};
		}.start();



猜你喜欢

转载自blog.csdn.net/qq_41673194/article/details/80392070