关于android原生VideoView解决卡顿现象

来源:互联网 发布:网络版收银软件 编辑:程序博客网 时间:2024/05/19 18:40
  • 自己公司的项目是webview嵌套h5的,,反正麻烦的很0.0
    • 恩 不过这个解决卡顿还不错,直接上代码了,大部分都可以搜到的handler+Runnable,我只是重复了一下,稍微修改了一下而已
/**1.获取当前的播放时间,与上一次记录的时间进行对比,2.如果事件一样了,就说明卡顿了!!!3.时间不一样,那就说明可能没有卡顿 0.0 (缓存了可就说明了)4.根据 卡顿 和 不卡顿 来做相关的处理*/    int old_duration = 0 ;//记录上一次的播放时间,不用置零(感觉)    private final Handler mHandlerLock = new Handler();    private Runnable mRunLock = new Runnable() {        public void run() {            int duration = mVideoView.getCurrentPosition();            if (old_duration == duration && mVideoView.isPlaying()) {                //说明有问题播放下一个视频                playNextItem();                ToastUtil.show(getApplicationContext() , "卡住了,播放下一个" );            } else {                //说明正常不做处理                ToastUtil.show(getApplicationContext() , "正常播放" );            }            old_duration = duration ;            mHandlerLock.postDelayed(mRunLock, 10 * 1000);//10秒进行一次判断,也可以长或者短        }    };//最后就是调用的地方了,我在这里封装里面了,在VideoView。start()方法下执行 private void decideVideoLock() {        mHandlerLock.removeCallbacks(mRunLock);        mHandlerLock.postDelayed(mRunLock, 0);    }
0 0
原创粉丝点击