简介
开源依赖库是音乐音乐播放器中的歌词模块功能现在独立优化功能模块,成为开源依赖库,其他音乐播放器项目只要引用数据库和调用接口,就可以轻松实现音乐音乐播放器的动态歌词显示效果,注:其默认歌词格式代码是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:歌词内容的初始化
setTranslateDrawLrcColorTpe:设置翻译歌词绘画颜色类型
setTranslateDrawType:设置翻译歌词绘画类型
声明
由于该项目涉及到酷狗的动感歌词的版权问题,所以该项目的代码和内容仅用于学习用途
捐赠
如果该项目对您有所帮助,欢迎您的赞赏
微信
支付宝