网站开发的总结,logo设计在线生成免费平台只需4步,做58招聘网站工作人员的心得,wordpress安装主题提示服务器错误一个老牌子的播放器了#xff0c;项目可能已经有些日子没有维护了。但是使用效果还是不错的。支持多种视频格式#xff0c;及重力感应、调节亮度等多种效果。想来想去#xff0c;还是记录下来#xff0c;我会在文章的最后注明github地址#xff1a; 首先引入依赖#xff…一个老牌子的播放器了项目可能已经有些日子没有维护了。但是使用效果还是不错的。支持多种视频格式及重力感应、调节亮度等多种效果。想来想去还是记录下来我会在文章的最后注明github地址 首先引入依赖
gradlerepositories {mavenCentral()
}dependencies {# 必选内部默认使用系统mediaplayer进行解码implementation xyz.doikki.android.dkplayer:dkplayer-java:3.3.7# 可选包含StandardVideoController的实现implementation xyz.doikki.android.dkplayer:dkplayer-ui:3.3.7# 可选使用exoplayer进行解码implementation xyz.doikki.android.dkplayer:player-exo:3.3.7# 可选使用ijkplayer进行解码implementation xyz.doikki.android.dkplayer:player-ijk:3.3.7# 可选如需要缓存或者抖音预加载功能请引入此库implementation xyz.doikki.android.dkplayer:videocache:3.3.7
}首先需要引入相关依赖需要注意播放器内部默认使用系统MediaPlayer进行解码 VideoViewManager.setConfig(VideoViewConfig.newBuilder()//使用使用IjkPlayer解码.setPlayerFactory(IjkPlayerFactory.create())//使用ExoPlayer解码.setPlayerFactory(ExoMediaPlayerFactory.create())//使用MediaPlayer解码.setPlayerFactory(AndroidMediaPlayerFactory.create()).build());然后就是在xml中引入使用
xyz.doikki.videoplayer.player.VideoViewandroid:idid/playerandroid:layout_widthmatch_parentandroid:layout_height300dp /设置播放代码
videoView.setUrl(URL_VOD); //设置视频地址
StandardVideoController controller new StandardVideoController(this);
controller.addDefaultControlComponent(标题, false);
videoView.setVideoController(controller); //设置控制器
videoView.start(); //开始播放不调用则不自动播放生命周期的回调
Overrideprotected void onPause() {super.onPause();videoView.pause();}Overrideprotected void onResume() {super.onResume();videoView.resume();}Overrideprotected void onDestroy() {super.onDestroy();videoView.release();}Overridepublic void onBackPressed() {if (!videoView.onBackPressed()) {super.onBackPressed();}}在AndroidManifest.xml中
activityandroid:name.PlayerActivityandroid:configChangesorientation|screenSize|keyboardHiddenandroid:screenOrientationportrait / !-- or android:screenOrientationlandscape--最后就是关于临时切换解码器的代码
//使用IjkPlayer解码
mVideoView.setPlayerFactory(IjkPlayerFactory.create());
//使用ExoPlayer解码
mVideoView.setPlayerFactory(ExoMediaPlayerFactory.create());
//使用MediaPlayer解码
mVideoView.setPlayerFactory(AndroidMediaPlayerFactory.create());到此是正常的代码使用。下面是github地址 https://github.com/Doikki/DKVideoPlayer/wiki
不过我在使用时封装了一个工具类以及添加阿里云的播放器解码。如果需要请看下面的文章 DKVideoPlayer播放器之AliyunPlayer解码