在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
开源软件名称:MXVideo开源软件地址:https://gitee.com/zhangmengxiong/MXVideo开源软件介绍:MXVideo介绍基于饺子播放器、kotlin编写的 Android 开源播放器, 开箱即用,欢迎提 issue 和 pull request
功能特性
1、通过 dependence 引入MXVideo dependencies { implementation 'com.gitee.zhangmengxiong:MXVideo:x.x.x' } 2、页面集成 <com.mx.video.MXVideoStd android:id="@+id/mxVideoStd" android:layout_width="match_parent" android:layout_height="wrap_content" /> // Activity或者Fragment中生命周期变更,处理进入后台/前台时的暂停/续播功能 override fun onStart() { mxVideoStd.onStart() super.onStart() } override fun onStop() { mxVideoStd.onStop() super.onStop() } 3、开始播放// 设置播放占位图Glide.with(this).load("http://www.xxx.com/xxx.png").into(mxVideoStd.getPosterImageView())// 默认从上一次进度播放mxVideoStd.setSource(MXPlaySource(Uri.parse("https://aaa.bbb.com/xxx.mp4"), "标题1"))mxVideoStd.startPlay()// 从头开始播放mxVideoStd.setSource(MXPlaySource(Uri.parse("https://aaa.bbb.com/xxx.mp4"), "标题1"), seekTo = 0)mxVideoStd.startPlay()// 从第10秒开始播放mxVideoStd.setSource(MXPlaySource(Uri.parse("https://aaa.bbb.com/xxx.mp4"), "标题1"), seekTo = 10)mxVideoStd.startPlay()
4、监听播放进度mxVideoStd.addOnVideoListener(object : MXVideoListener() { // 播放状态变更 override fun onStateChange(state: MXState) { } // 播放时间变更 override fun onPlayTicket(position: Int, duration: Int) { } }) 5、全屏返回 + 释放资源
override fun onBackPressed() { if (MXVideo.isFullScreen()) { MXVideo.gotoNormalScreen() return } super.onBackPressed() } override fun onDestroy() { MXVideo.releaseAll() super.onDestroy() } 功能相关
// 默认MediaPlayer播放器,库默认内置com.mx.video.player.MXSystemPlayer// 谷歌的Exo播放器com.mx.mxvideo_demo.player.MXExoPlayer// IJK播放器com.mx.mxvideo_demo.player.MXIJKPlayer// 设置播放源是可以设置内核,默认 = MXSystemPlayermxVideoStd.setSource(MXPlaySource(Uri.parse("xxx"), "xxx"), player = MXSystemPlayer::class.java)
// 默认旋转角度 = MXOrientation.DEGREE_0mxVideoStd.setOrientation(MXOrientation.DEGREE_90)
// 强制填充宽高 MXScale.FILL_PARENT// 根据视频大小,自适应宽高 MXScale.CENTER_CROP// 默认填充规则 = MXScale.CENTER_CROPmxVideoStd.setScaleType(MXScale.CENTER_CROP)
<com.mx.video.MXVideoStd android:id="@+id/mxVideoStd" android:layout_width="match_parent" android:layout_height="wrap_content" />
// MXVideoStd控件设置宽高比= 16:9mxVideoStd.setDimensionRatio(16.0 / 9.0)// MXVideoStd控件设置宽高比= 4:3mxVideoStd.setDimensionRatio(4.0 / 3.0)// 取消约束mxVideoStd.setDimensionRatio(0.0)
// 进度单位:秒 可以在启动播放后、错误或播完之前调用mxVideoStd.seekTo(55)
// 播放前设置 默认=truemxVideoStd.getConfig().canSeekByUser = false
// 播放前设置 默认=truemxVideoStd.getConfig().canFullScreen = false
// 播放前设置 默认=truemxVideoStd.getConfig().canShowSystemTime = false
// 播放前设置 默认=truemxVideoStd.getConfig().canShowBatteryImg = false
// 播放前设置 默认=truemxVideoStd.getConfig().showTipIfNotWifi = false
// 播放前设置 默认=truemxVideoStd.getConfig().gotoNormalScreenWhenComplete = true
// 播放前设置 默认=truemxVideoStd.getConfig().gotoNormalScreenWhenError = true
// 播放前设置 默认=falsemxVideoStd.getConfig().autoRotateBySensor = true |
请发表评论