Android 用TextTure封装的一个视频播放控件(滚动视频缩小)

200 阅读1分钟

控件功能:

1)封面图设置

myVideo.setPosterImg("pic3.zhimg.com/v2-ddb6abbe…") 2)播放暂停

  1. 清晰度设置

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一个哦!