新闻详情

新闻详情

首页 / 资讯中心 / 详情

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

发布时间:2026/11/4 13:51:06来源:尧图网络
如何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),仅供参考
网站建设高端定制企业官网
RELATED

相关资讯

更多精彩内容,欢迎继续阅读

较早相关资讯

最新相关资讯

【外设】之大彩串口显示屏 2026/11/3 7:07:39

【外设】之大彩串口显示屏

大彩串口屏初步使用 1 .官网下载 STM32 屏幕 GUI 设计资料 http://www.gz-dc.com/category/typeid/4112 找到 STM32 Keil 工程,移植相关代码因项目而异进行移植,由于项目简单,本人只对用到的指令接口进行修改。 比如:注意事项&…

阅读更多 →
无法下载Windows系统iso文件 2026/11/3 12:09:35

无法下载Windows系统iso文件

当我遇到这个问题的时候,我打开了一个网站: 登录 然后我打算下载的时候: 突然那个官方的连接就可以下载了:

阅读更多 →
【清华代码熊】DeepSeek V4.1 Flash 后训练详解 2026/11/3 12:09:38

【清华代码熊】DeepSeek V4.1 Flash 后训练详解

📌 上期解析了 DeepSeek V4.1 Flash 模型架构改进,本期解析 DeepSeek V4.1 Flash 预训练/后训练技术: 🌟 预训练:45T 文本 多模态混合语料、直接训练 sparse attention(取消 DeepSeek V4 的 dense 冷启动&…

阅读更多 →
Shuffle-R1: Efficient RL framework for Multimodal Large Language Models via Data-centric Dynamic ... 2026/11/4 12:33:12

Shuffle-R1: Efficient RL framework for Multimodal Large Language Models via Data-centric Dynamic ...

文章主要内容和创新点 主要内容 本文聚焦于多模态大语言模型(MLLM)强化学习(RL)训练中的效率问题,提出了一个名为Shuffle-R1的框架。研究发现,当前RL训练存在两个关键缺陷: 优势值坍缩(Advantage Collapsing):批次中大多数优势值集中在零附近,导致有效梯度信号被淹…

阅读更多 →
PRvL: Quantifying the Capabilities and Risks of Large Language Models for PII Redaction 2026/11/4 1:25:31

PRvL: Quantifying the Capabilities and Risks of Large Language Models for PII Redaction

一、文章主要内容总结 本文聚焦于利用大型语言模型(LLMs)实现个人身份信息(PII)脱敏的研究,旨在解决传统脱敏方法(如基于规则的系统、领域特定命名实体识别(NER)模型)泛化能力差、跨格式/跨语境适应性弱的问题。 研究通过全面评估多种LLM架构(包括密集型LLM(D-LLM…

阅读更多 →
LLaVA-RE: Binary Image-Text Relevancy Evaluation with Multimodal Large Language Model 2026/11/4 3:51:11

LLaVA-RE: Binary Image-Text Relevancy Evaluation with Multimodal Large Language Model

文章主要内容和创新点 主要内容 本文聚焦于二进制图像-文本相关性评估任务(判断图像与文本“相关”或“不相关”),针对该任务中文本格式多样、相关性定义随场景变化等挑战,提出了基于多模态大语言模型(MLLM)的解决方案LLaVA-RE。 模型设计:LLaVA-RE基于LLaVA 1.5架构,…

阅读更多 →

今日资讯

本周资讯

本月资讯

看完文章仍有疑问?

联系尧图顾问,获取一对一建站咨询

立即免费咨询 📞 400-888-8888
📞 ✉