简介

该开源依赖库是乐乐音乐播放器里的一个歌词模块功能,现在把该功能模块独立出来进行优化,并弄成了一个开源依赖库,其它音乐播放器项目只要引用该库并调用接口,便可轻松实现与乐乐音乐播放器一样的动感歌词显示效果,注:其默认歌词格式的编码都是utf-8,使用过程中请注意编码一致的问题,其项目地址如下:乐乐音乐播放器。

使用注意

1.x版本,只要是使用自定义view来实现,每次都使用handler去刷新view,但是如果handler队列中有很多任务执行,那就无法保证歌词每次都在100ms内刷新一次。

2.x版本,主要是使用surfaceview来实现,每次刷新时间为40ms,歌词渐变相对会流畅。

3.x版本,主要是使用TextureView来实现,每次刷新时间修改为50ms,TextureView支持view的相关动画属性

2.x版本使用注意

主题:我主要是使用Theme.AppCompat.Light.NoActionBar的主题,我试过其它的主题,会导致surfaceview背景为黑色,并且不能透明的问题。

surfaceview存在的问题,没有view相关的旋转,位移等动画和touch事件,所以我乐乐音乐的旋转界面会出现问题,如果有相关动画需求的,慎用。

3.x版本使用注意

设置硬件加速:android:hardwareAccelerated="true"

android4.0以上

存在的问题,没有touch事件

网易云API歌词调用方式

注:该歌词只适用于通过api获取歌词,文件保存格式为:lrcwy。其中动感歌词和lrc歌词只能选其中一种,支持翻译歌词,

日志

2020-04-05

添加setRefreshTime接口来设置动感歌词行歌词中字刷新时间

添加setDuration接口来设置多行歌词y轴的移动时间

2020-02-26

添加trc歌词支持

2019-01-18

添加读取歌词api接口

2018-12-30

修复制作歌词问题,添加多行歌词指示器回调接口

2018-12-29

添加制作歌词功能

添加网易云API歌词支持

修复网易云API歌词支持、翻译歌词支持高亮显示、修复歌词上滑动时有时不绘画的问题

v3.2

2018-05-05

添加混淆

添加刷新时间

v3.0

2018-04-22

surfaceview替换成TextureView

v2.6

2018-04-22

修复后台回到前台时,歌词视图内容为空的问题

修复初始歌词数据时,OffsetY值没还原的问题

v2.4

2018-04-21

自定义view替换成surfaceview

添加获取歌词参数方法

v1.46

2018-10-02

获取歌词最大的宽度默认为获取屏幕的大小的2/3。

考虑到在设置歌词数据时,视图并没有显示,导致歌词的最大宽度获取为0,所以分隔歌词时出现了问题,最终出现竖直歌词的问题。

v1.44

2018-08-11

添加HandlerThread

修复歌词类型切换

v1.40

2018-06-02

minSdkVersion 修改为19

v1.36

2018-05-12

双行歌词的默认歌词添加居左显示和居中显示模式

双行歌词不回手动设置字体大小标记

v1.34

2018-05-07

修复歌词快进点击按钮事件

2018-05-06

修复自定义view歌词

v1.x

修复制作歌词无法完成的问题

修改音译歌词显示

添加制作音译歌词实体

修改制作翻译歌词实体

添加制作翻译歌词实体

添加修改绘画指示器颜色接口

修复制作歌词问题

LyricsReader添加设置歌词数据

添加制作歌词实体

添加获取制作歌词状态接口

添加获取制作后的歌词接口

添加制作歌词预览视图

添加额外歌词生成图片视图预览和生成额外歌词图片功能

修复歌词生成图片问题

修复歌词生成图片问题

修复歌词生成图片视图的字体

修改部分int变量的类型为long

修改部分int变量的类型为float

添加歌词生成图片文件接口

添加歌词生成图片预览视图

修复通过歌曲文件名获取歌词文件问题

修复多行歌词未读时渐变的问题

修复最后一个字渐变出错的问题

修改歌词每次刷新的间隔最少为100ms

修改歌词每次刷新的间隔最少为20ms

修复未读到下一行歌词时,上一行歌词渐变宽度为0的问题

修复设置歌词读取器的问题

2018-03-04

修复双行歌词加载歌词完成后,显示额外歌词渐变出错的问题

修改了多行歌词,滑动时的指示器渐变颜色

v1.2

添加歌词view获取歌词读取器方法

v1.1

添加歌词读取器获取歌词实体类方法

v1.0

实现lrc、ksc、krc和hrc歌词格式的显示

实现双多行歌词的显示、字体大小、颜色、歌词换行

多行歌词的快进、平滑移动、颜色渐变

预览图

制作歌词界面

主界面

歌词文件读取并预览

双行歌词-动感歌词

双行歌词-音译歌词

双行歌词-翻译歌词

多行歌词-lrc歌词

多行歌词-动感歌词

多行歌词-音译歌词

多行歌词-翻译歌词

多行歌词-快进

Gradle

1.root build.gradle

`allprojects {

repositories {

...

maven { url 'https://jitpack.io' }

}

}`

2.app build.gradle

dependencies { compile 'com.github.zhangliangming:HPLyrics:v1.66' }

混淆注意

-keep class com.zlm.hp.lyrics.** { *; }

调用Demo

调用用法

部分API

setPaintColor:设置默认画笔颜色

setPaintHLColor:设置高亮画笔颜色

setExtraLyricsListener:设置额外歌词回调方法,多用于加载歌词完成后,根据额外歌词的状态来判断是否需要显示翻译、音译歌词按钮

setSearchLyricsListener:无歌词时,搜索歌词接口

setOnLrcClickListener:多行歌词中歌词快进时,点击播放按钮时,调用。

setFontSize:设置默认画笔的字体大小,可根据参数来设置是否要刷新view

setExtraLrcStatus:设置额外歌词状态

setLyricsReader:设置歌词读取器

play:设置歌词当前的播放进度(播放歌曲时调用一次即可)

pause:暂停歌词

seekto:快进歌词

resume:唤醒

initLrcData:初始化歌词内容

setTranslateDrawLrcColorType:设置翻译歌词绘画颜色类型

setTranslateDrawType:设置翻译歌词绘画类型

声明

由于该项目涉及到酷狗的动感歌词的版权问题,所以该项目的代码和内容仅用于学习用途

捐赠

如果该项目对您有所帮助,欢迎您的赞赏

微信

支付宝

android仿酷狗界面,Android仿酷狗动感歌词(支持翻译和音译歌词)显示效果相关推荐

  1. android歌词效果,Android仿酷狗动感歌词(支持翻译和音译歌词)显示效果

    引言 该开源依赖库是乐乐音乐播放器里的一个歌词模块功能,现在把该功能模块独立出来进行优化,并弄成了一个开源依赖库,其它音乐播放器项目只要引用该库并调用接口,便可轻松实现与乐乐音乐播放器一样的动感歌词显 ...

  2. Android仿酷狗动感歌词(支持翻译和音译歌词)显示效果

    引言 该开源依赖库是乐乐音乐播放器里的一个歌词模块功能,现在把该功能模块独立出来进行优化,并弄成了一个开源依赖库,其它音乐播放器项目只要引用该库并调用接口,便可轻松实现与乐乐音乐播放器一样的动感歌词显 ...

  3. android 渐变歌词,Android仿酷狗动感歌词(支持翻译和音译歌词)显示效果

    引言 该开源依赖库是乐乐音乐播放器里的一个歌词模块功能,现在把该功能模块独立出来进行优化,并弄成了一个开源依赖库,其它音乐播放器项目只要引用该库并调用接口,便可轻松实现与乐乐音乐播放器一样的动感歌词显 ...

  4. Android歌词制作,Android动感歌词制作器(支持翻译和音译歌词)

    引言 之前PC版本已经实现了动感歌词.翻译歌词和音译歌词的制作,便想着找个时间,把PC版本的功能移植到Android手机平台上面.经过一周的努力,终于实现了,界面虽然简陋,但是大部分的功能已经实现.为 ...

  5. Android动感歌词制作器(支持翻译和音译歌词)

    引言 之前PC版本已经实现了动感歌词.翻译歌词和音译歌词的制作,便想着找个时间,把PC版本的功能移植到Android手机平台上面.经过一周的努力,终于实现了,界面虽然简陋,但是大部分的功能已经实现.为 ...

  6. android写qq动态界面,Android_Android仿QQ空间主页面的实现,今天模仿安卓QQ空间,效果如 - phpStudy...

    Android仿QQ空间主页面的实现 今天模仿安卓QQ空间,效果如下: 打开程序的启动画面和导航页面我就不做了,大家可以模仿微信的那个做一下,很简单.这次主要做一下主页面的实现,下面是主页面的布局: ...

  7. android仿抖音直播间聊天,Uni-App直播小视频|仿微信聊天界面|uniapp仿抖音

    U直播是一个基于Nvue+vue+uniapp技术开发的仿抖音小视频.陌陌直播的项目.小视频及直播页面均实现了类似抖音上下滑动切换效果,还有点赞.评论.商品等功能展示. 运行效果: 技术实现:编辑器+ ...

  8. android里qq登录界面,Android仿QQ登陆窗口实现原理

    今天根据腾讯qq,我们做一个练习,来学习如何制作一个漂亮的布局.首先看一下官方图片 还是一个启动画面,之后进入登录页面,导航页面就不介绍了,大家可以参考微信的导航页面.首先程序进入SplashActi ...

  9. android 微信缩小通话界面_Android仿微信多人音视频通话界面

    工作中需要实现一个类似微信多人视频通话功能的界面,分别使用自定义viewgroup和自定义layoutmanager的方式进行了实现.最终工作中采用了layoutmanager,因为可以使用paylo ...

最新文章

  1. 单片机彩灯移动实验_用S7-1200 PLC实现循环彩灯的控制,含源程序
  2. 工业相机之全局曝光与卷帘曝光
  3. html 页面 底部固定 footer
  4. 无法连接NVIDIA驱动:NVIDIA-SMI has failed because it couldn't communicate with the NVIDIA driver
  5. CSS综合复习笔记 01
  6. class.getResourceAsStream与class.getClassLoader().getResourceAsStream区别
  7. 电脑技巧:C盘爆满该如何清理,实用的清理方案,小白必备
  8. vue 页面url参数_Vue下URL地址栏参数改变却不能刷新界面
  9. 微信登陆报错:redirect_uri域名与后台配置不一致,错误码:10003 微信支付报错 微信登录报错 微信开发
  10. 一款好用的绘图软件Draw.io,比Visio好用
  11. 读书笔记-1-《书都不会读,你还想成功?》
  12. matlab rand求圆周率,MATLAB做投针实验求圆周率
  13. revit打开服务器文件格式,Revit文件导出格式大全(下)
  14. word中有软回车(每行后面有向下的箭头)的解决方法
  15. 假设检验方法-T检验、Z检验、F检验、卡方检验
  16. SiamRPN++理解
  17. 复化辛浦生求积算法C++实现
  18. 原生JavaScript实现五子棋(直接上代码干货点赞收藏拿走)
  19. 反编译微信小程序(图文详细傻瓜式)
  20. 求根号x(LeetCode--分治篇)

热门文章

  1. 网易云音乐小程序登录接口显示400,拥挤问题解决
  2. Guava学习笔记:Google Guava 类库简介
  3. 微信小程序真机调试方法出现问题
  4. 像《我是歌手》一样说我是程序员
  5. 数据分析常见SQL面试笔试题
  6. Redis ZADD命令
  7. 哲理故事与管理之道(11)-让自己成为领袖和榜样
  8. 如何使用MySQL存储Emoji表情,UTF-8和UTF-8MB4字符编码有何区别?
  9. 什么是电线老化?如何辨别?
  10. 看甲骨文如何在云端一路高歌猛进!