控件功能:
1)封面图设置
myVideo.setPosterImg("pic3.zhimg.com/v2-ddb6abbe…") 2)播放暂停
- 清晰度设置
val list = ArrayList() list.apply { add(MyVideoView.DefinitionData("vjs.zencdn.net/v/oceans.mp…", "流畅")) add(MyVideoView.DefinitionData("vjs.zencdn.net/v/oceans.mp…", "高清")) } myVideo.setDefinitionData(list) 4) 视频快进
5)播放进度和总进度显示
6)全屏播放
7)与NestedScrollView结合使用,滚动到一定位置视频缩小播放
class MyNestedScrollView(context: Context, attributeSet: AttributeSet) : NestedScrollView(context, attributeSet){ var isVideoTouched = false private var onScrollChangeListener: OnScrollChangeListener? = null interface OnScrollChangeListener { fun onScrollChange(left: Int, top: Int, oldLeft: Int, oldTop: Int) }
override fun onScrollChanged(l: Int, t: Int, oldl: Int, oldt: Int) {
super.onScrollChanged(l, t, oldl, oldt)
onScrollChangeListener?.onScrollChange(l, t, oldl, oldt)
}
fun setOnScrollChangeListener(onScrollChangeListener: OnScrollChangeListener) {
this.onScrollChangeListener = onScrollChangeListener
}
override fun onInterceptTouchEvent(ev: MotionEvent): Boolean {
if (isVideoTouched) return false
return super.onInterceptTouchEvent(ev)
}
}
其它功能有待开发
github地址:github.com/1163710212/…
觉得有用的小伙伴不忘star一个哦!