android实现视频播放器
16lz
2021-01-24
android实现视频播放器
上午我们用mediaplayer实例了音乐播放器,现在我们在用mediaplayer实现视频播放,同样的也有两种实现方式:
- SurfaceView
- VideoView
先来看两张图片
其实答大体操作还是一样的,只是多了两部:
1、xml布局,使用了SurfaceView的控件
2、代码中将步骤到的画面surfaceView放入到了mediaplayer中
下面我就把详细代码贴出来:
首先是布局的:
<SurfaceView android:layout_width="match_parent" android:layout_height="300dp" android:id="@+id/sf_view"/> <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content"> <SeekBar android:layout_width="0dp" android:layout_weight="1" android:layout_height="wrap_content" android:id="@+id/sb_main_bar" /> <ImageButton android:layout_width="wrap_content" android:layout_height="wrap_content" android:src="@android:drawable/ic_media_play" android:onClick="isPlayOrPause" /> LinearLayout>
最后贴出关键的java代码,其他都和前面音乐器的步骤一样,不同明白的的同行者可以先去看看前篇:
final ImageButton imageButton=(ImageButton) view;//视图的button if (mediaPlayer==null){ mediaPlayer=new MediaPlayer(); mediaPlayer.setAudioStreamType(AudioManager.STREAM_MUSIC); try { //播放内存卡中的图片 mediaPlayer.setDataSource(this,Uri.parse("file://mnt/sdcard/Movies/advideo.mp4")); mediaPlayer.prepare(); } catch (IOException e) { e.printStackTrace(); } //将捕捉到的画面放到surfaceview中 mediaPlayer.setDisplay(surfaceView.getHolder()); mediaPlayer.start(); imageButton.setImageResource(android.R.drawable.ic_media_pause); //获取音乐总时长 int duration= mediaPlayer.getDuration(); //设置音乐最大值 sb_main_bar.setMax(duration); new mythread().start(); }else if (mediaPlayer.isPlaying()){ mediaPlayer.pause(); imageButton.setImageResource(android.R.drawable.ic_media_play); }else{ mediaPlayer.start(); imageButton.setImageResource(android.R.drawable.ic_media_pause); }
这个的变化就只是在准备播放前加了一句捕捉画面的代码,就可以啦。
第二种vedioVew用起来相对于简单,布局文件我就不贴了,即是一个VideoView的控件。java代码也是很简单的,
videoView = (VideoView) findViewById(R.id.vv_vedio); //设置来源 videoView.setVideoPath("file://mnt/sdcard/Movies/advideo.mp4"); //实例媒体控制器 MediaController mediaController=new MediaController(this); mediaController.setMediaPlayer(videoView); videoView.setMediaController(mediaController); }
视频播放挺简单的,就这样就完了。
更多相关文章
- 为什么我要改用Kotlin
- Android(安卓)ListView基础篇
- 使用Jquery Mobile设计Android通讯录
- Android(安卓)Fragment的介绍与使用(案例Demo)
- Android简单视频播放器之VideoView(一)
- 折磨死我的conversion to dalvik format failed with error 1 竟
- android真实项目教程(四)——MY APP MY STYLE_by_CJJ
- Android中LocationManager的简单使用01
- Android更改Activity样式和隐藏标题