/**
* 针对在线广告
* 判断在线广告是否缓冲超时5s;是则跳过广告
*/
public void isBufferingTimeOut() {
Timer timer = new Timer();
timer.schedule(new TimerTask() {
int old_duration = 0;
long lastTime = System.currentTimeMillis();
@Override
public void run() {
Log.d(TAG, "first time" + lastTime);
int duration = 0;
boolean isPlaying = false;
if (mVideoView != null) {
duration = mVideoView.getCurrentPosition();
isPlaying= mVideoView.isPlaying();
long nowTime = System.currentTimeMillis();
Log.d(TAG, "gap time" + (nowTime - lastTime) + " is playing: " + isPlaying);
if (old_duration == duration) {
Log.e(TAG, "position stopped");
if (mVideoView.getDuration() == duration) {
timer.cancel;
}
if (nowTime - lastTime >= 5000) {
Log.e(TAG, "isBufferingTimeOut");
Message msg2 = refreshHandler.obtainMessage(2, "fail");
refreshHandler.sendMessage(msg2);
timer.cancel();
}
old_duration = duration;
} else if (duration > old_duration) {
if (isPlaying) {
Log.d(TAG, "isplaying");
if (duration == mVideoView.getDuration()) timer.cancel();
old_duration = duration;
lastTime=nowTime;
} else {
if (duration == mVideoView.getDuration()) timer.cancel();
old_duration = duration;
}
}
} else timer.cancel();
}
}, 0, 1000);
}
判断安卓videoview在线播放卡顿(5s)的方法
检测Android VideoView在线播放流畅性的技巧
最新推荐文章于 2024-06-09 23:24:49 发布
本文介绍了一种有效的方法来判断Android VideoView在播放在线视频时是否出现5秒以上的卡顿问题,这对于优化用户体验至关重要。
1万+

被折叠的 条评论
为什么被折叠?



