From 7b0a7a44c096794ede832f65550c3a29da23dbac Mon Sep 17 00:00:00 2001 From: Runt <qingingrunt2010@qq.com> Date: Wed, 04 May 2022 14:13:18 +0000 Subject: [PATCH] 滑动歌词 计算时间 问题修复 --- app/src/main/java/com/auto/lyric/service/FloatingWindowService.java | 12 ++++++++---- app/src/main/java/com/auto/lyric/widgets/LyricView.java | 8 ++++---- 2 files changed, 12 insertions(+), 8 deletions(-) diff --git a/app/src/main/java/com/auto/lyric/service/FloatingWindowService.java b/app/src/main/java/com/auto/lyric/service/FloatingWindowService.java index ed45dd9..92d3ce3 100644 --- a/app/src/main/java/com/auto/lyric/service/FloatingWindowService.java +++ b/app/src/main/java/com/auto/lyric/service/FloatingWindowService.java @@ -213,11 +213,15 @@ case MotionEvent.ACTION_UP: if(binding.btnStart.getText().equals("开启") || pause) { int index = binding.lyric.getIndexFromOffsetY(binding.lyric.getOffsetY()); - binding.lyric.setIndex(index); - binding.lyric.setOffsetY(220 - index * (binding.lyric.getSIZEWORD() + 44)); LyricObject object = LyricServer.getLrc_map().get(index); - Log.e("LyricView", "object:" + object); - progress = object.begintime; + Log.e("LyricView", "index:"+index+" object:" + object); + if(object != null) { + binding.lyric.setIndex(index); + binding.lyric.setOffsetY(220 - index * (binding.lyric.getSIZEWORD() + 44)); + Log.e("LyricView", "object:" + object); + progress = object.begintime; + binding.timer.setText(msFormat.format(progress)); + } binding.lyric.invalidate(); } break; diff --git a/app/src/main/java/com/auto/lyric/widgets/LyricView.java b/app/src/main/java/com/auto/lyric/widgets/LyricView.java index 77d8a77..8c1880b 100644 --- a/app/src/main/java/com/auto/lyric/widgets/LyricView.java +++ b/app/src/main/java/com/auto/lyric/widgets/LyricView.java @@ -189,11 +189,11 @@ //220 - index * (binding.lyric.getSIZEWORD() + 44) int index = (int) ((220 - offsetY) / (SIZEWORD + 44)); Log.i("LyricView", "getIndexFromOffsetY index:"+index); - if(LyricServer.getLrc_map().keySet().size()>index){ - return index; - }else if(index < 0){ + if(index < 0){ return 0; - }else{ + }else if(LyricServer.getLrc_map().keySet().size()>index){ + return index; + }else { return LyricServer.getLrc_map().keySet().size() -1; } } -- Gitblit v1.9.1