ARTICLE DETAIL

资讯详情

深耕网站视觉设计与运营推广的一线实战洞察。

如何5分钟集成lyric-view-cj:HarmonyOS自定义歌词组件快速上手教程

如何5分钟集成lyric-view-cj:HarmonyOS自定义歌词组件快速上手教程 如何5分钟集成lyric-view-cjHarmonyOS自定义歌词组件快速上手教程【免费下载链接】lyric-view-cj音乐播放器自动滚动歌词组UI件项目地址: https://gitcode.com/Cangjie-TPC/lyric-view-cjlyric-view-cj 是一个基于仓颩语言开源的 HarmonyOS 自定义歌词组件可关联音乐播放器实现歌词随播放进度自动滚动、高亮、双语 LRC 解析与拖动歌词快进。本教程带你走通完整集成流程克隆仓库 → 拷贝模块 → 配置依赖 → 渲染出第一行会滚动的歌词零基础也能照着做完。适用对象需要歌词展示能力的 HarmonyOS 应用音乐播放器、K歌 App 等环境要求DevEco Studio 5.1.1 Release5.1.1.851SdkVersion 19 及以上一、lyric-view-cj 歌词组件能做什么一句话总结给你的应用装上一块“KTV 同款”自动滚动歌词屏。LRC 解析从文件或文本解析双语歌词支持[ti:][ar:][al:][offset:]等标签自动滚动歌词跟随播放进度自动滚动当前行高亮放大拖动快进手指按住歌词即可预览时间、点按跳转样式自定义字号、颜色、行距、高亮缩放/加粗、居中/居左随心配空态兜底无歌词时可自定义居中提示文案如“暂无歌词”完整的类与函数接口说明见项目 API 文档 doc/feature_api.md。二、第一步一条命令克隆 HarmonyOS 歌词组件仓库git clone https://gitcode.com/Cangjie-TPC/lyric-view-cj项目结构很简洁你只需要关注三个部分├─ doc # API文档和使用手册 ├─ entry # 示例代码跟着它学用法最快 └─ lyricview # 歌词组件源码真正要用的就是它示例应用的全局图标资源放在AppScope/resources/base/media/下由前景层与背景层合成三、第二步拷贝 lyricview 模块并配置 cjpm.toml 依赖项目支持两种引入方式新手推荐第一种按模块引入直接把 lyricview/ 整个目录拷贝到你的应用工程根目录下与你的主模块entry平级按三方库引入把仓库作为 git submodule 挂到工程里适合多项目统一管理cd $你的工程根目录 mkdir third-party cd third-party git submodule add https://gitcode.com/Cangjie-TPC/lyric-view-cj无论哪种方式最后都要打开应用模块下的cjpm.toml给lyricview声明一个路径依赖。工程自带的示例配置可直接参考 entry/cjpm.toml[dependencies] [dependencies.lyricview] path ../lyricview四、第三步渲染出第一行自动滚动的歌词整个组件只需要理解三个对象分工非常清晰对象职责源码位置LyricParser把 LRC 文本解析成Lyric数据结构lyric_parser.cjLyricController歌词与样式的“遥控器”设歌词、滚动、配色lyric_controller.cjLyricView歌词展示组件本体放进布局即可lyric_view.cj在页面里按下面四步写官方示例页 lyric_view_test_case.cj 就是同一套路import lyricview.bean.* import lyricview.parse.* import lyricview.view.* // 1. 创建控制器链式配置歌词样式 var controller LyricController() .setTextSize(18.0) .setTextColor(Color(0x7cffffff)) .setHighlightColor(Color(0xffffffff)) .setAlignMode(AlignMode.Center) .setEmptyHint(当前没有歌词) // 2. 解析 LRC 歌词并装载 var lyric LyricParser().parse(lrcText) controller.setLyric(lyric) // 3. 把 LyricView 放入布局 LyricView(controller: controller, enableSeek: true) // 4. 播放进度每变化一次就调用它驱动滚动 controller.updatePosition(mediaPosition)完成从此播放进度变化 → 歌词自动滚动当前行高亮 按住歌词拖动 → 显示时间预览松手点按跳转没有歌词 → 屏幕中央显示“当前没有歌词”五、LyricController 快速自定义表常用样式 API 一览所有样式接口都支持链式调用建议在页面aboutToAppear中一次性配好想做什么调用方法改字号 / 行间距setTextSize(18.0)/setLineSpace(18.0)改普通颜色 / 高亮颜色setTextColor(...)/setHighlightColor(...)高亮行放大 加粗setHighlightScale(1.3)/setHighlightBold(true)居中 / 居左显示setAlignMode(AlignMode.Center)/AlignMode.Left无歌词时的提示语setEmptyHint(暂无歌词)屏幕外预绘制缓存行数滑动更流畅setCacheSize(4)滚动动效时长毫秒默认 300setAnimationDuration(300)需要拖动快进界面配色时在构造LyricView时传seekUIColor、seekLineColor、seekUIStyle即可。六、常见问题集成 HarmonyOS 歌词组件最容易踩的 4 个坑Q1歌词不自动滚动大概率是漏调updatePosition(mediaPosition)。请在播放器进度变化时Slider 的onChange或播放器时间回调里把当前播放位置毫秒传进控制器。Q2怎么显示双语歌词调用parse(mainLyric, secondLyric)把主、副语言歌词分别作为两个字符串数组传入组件会按行两行渲染。Q3想禁用拖动快进构造LyricView时设置enableSeek: false即可。Q4开发环境版本不满足项目已在 DevEco Studio 5.1.1 Release、SdkVersion 19 及以上版本验证通过详见 README.md 的“约束与限制”。七、下一步照着示例把所有功能玩一遍全功能演示页entry/src/main/cangjie/pages/lyric_view_test_case.cj播放、换色、改字号、清空模拟歌词数据entry/src/main/cangjie/pages/mock_data.cj版本发布记录CHANGELOG.md数据结构Lyric/LyricLine详解lyricview/src/main/cangjie/bean/项目基于 Apache License 开源放心使用。跟着上面三步走5 分钟后你的 HarmonyOS 应用就拥有了自动滚动的高亮歌词屏【免费下载链接】lyric-view-cj音乐播放器自动滚动歌词组UI件项目地址: https://gitcode.com/Cangjie-TPC/lyric-view-cj创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表