【安卓】视频播放控制View核心代码

对于一个视频开发的人员来说,特别是一个刚刚涉足VideoView的人来说,自己写VideoView写一个播放器或者说是利用视频播放的框架来编写VideoView的人来说,都避免不了要对VideoView的屏幕手势进行判断来进行声音、亮度、视频的进度的操作,同时这是手势也有这冲突之处,如何避免或者说是减少误差行的滑动错误,这时候就需要对自己的需求需求进行考量了。


本人对视频的滑动解析如下:

对屏幕进行分割成对称的E 和F区域,在E区域进行亮度的调节+视频进度调节,在F区域进行音量的调节+视频进度的调节。这样就可以对音量和亮度的调节起到不互相冲突,接下来就是考虑到视频进度的调节了,在视频进度的调节方面中,我们可以看到的快退或者是快进的时候,我们可以不按常规出牌(斜向上或者是斜向斜滑动),对于这种不按套路出牌的也是测试员经常干的吧,当然作为程序员的我们要考虑到客户的所有“未来的手势”,给我们带来的BUG。言归正传,在此时我们需要的是判断到底是上下滑动还是在横下滑动,那么问题就来了,当你在斜着滑动的时候上下左右都是在滑动的,你可能要说了:其实判断下那个滑动的距离大不就行了,思路的确是正确的。我当时也是这么做了,但是在你滑动稍微不是很快的时候,这时候就会出现,视频进度和亮度或者视频进度和音量调节在同时在滑动中,这是你就要吧这个考虑在内了。解决这个,你需要加一个关键值判断就行了,可以通过尝试试出来。

本人的代码如下,仅供参考,关键值还是需要Coder们自己把握了:


 @Override
 public boolean onTouch(View v, MotionEvent event) {
        switch (event.getAction()) {
                case MotionEvent.ACTION_DOWN://按下的逻辑处理
 
                    break;
                case MotionEvent.ACTION_UP://弹起的逻辑处理
                   
                    break;
                case MotionEvent.ACTION_MOVE:
                    //移动逻辑
                    int screenWidth = ScreenUtils.getScreenWidth(getContext());
                    float yMove = actionDownCoordinates[1] - event.getY();
                    float xMove = event.getX() - actionDownCoordinates[0];
                    actionDownCoordinates[0] = event.getX();
                    actionDownCoordinates[1] = event.getY();
                    //将屏幕分成7份,中间5份,两边各自1份
                    if ((Math.abs(xMove) + 5) < Math.abs(yMove)) {//竖向调节
                        if (screenWidth / 2 > event.getX()) {//调试亮度
                            
                        }
                        if (screenWidth / 2 < event.getX()) {//调试声音
                            
                        }
                    }
                    if (Math.abs(yMove) + 5 < Math.abs(xMove)) {//横向调节
                        
                    }
                    break;
            }
            return true;
}

--------------------- 
作者:RelinRan 
来源:CSDN 
原文:https://blog.csdn.net/u012127961/article/details/54378587 
版权声明:本文为博主原创文章,转载请附上博文链接!

猜你喜欢

转载自blog.csdn.net/qq_25955641/article/details/89790659
今日推荐