部分机型点击弹幕没有回调
Author: ggy-yaoCreated Mar 30, 2023Updated Jun 30, 2023
仅仅用到弹幕一个功能,没有播放器. 同样的代码在不同的手机中点击弹幕效果不同. 部分手机在点击弹幕时无效,有些手机有效.我跟踪了一下点击事件,发现点击事件无效的时候源码中以下判断是不成立的.只有在前几条弹幕点击有效.前几条弹幕走完之后,后面全都无效,,这是为什么 private IDanmakus touchHitDanmaku(final float x, final float y) { final IDanmakus hitDanmakus = new Danmakus(); mDanmakuBounds.setEmpty();
IDanmakus danmakus = danmakuView.getCurrentVisibleDanmakus();
if (null != danmakus && !danmakus.isEmpty()) {
danmakus.forEachSync(new IDanmakus.DefaultConsumer<BaseDanmaku>() {
@Override
public int accept(BaseDanmaku danmaku) {
if (null != danmaku) {
mDanmakuBounds.set(danmaku.getLeft(), danmaku.getTop(), danmaku.getRight(), danmaku.getBottom());
这里判断不成立,
if (mDanmakuBounds.intersect(x - mXOff, y - mYOff, x + mXOff, y + mYOff)) {
hitDanmakus.addItem(danmaku);
}
}
return ACTION_CONTINUE;
}
});
}
return hitDanmakus;
}Source: bilibili/DanmakuFlameMaster