如何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),仅供参考
企业数字化 ERP 产品动态
相关推荐
外贸独立站没询盘,往往不是页面问题,而是流程问题 很多外贸人做独立站时,最容易把注意力放在页面上。首页要不要重做?
产品图是不是不够精致?
模板是不是太普通?
导航是不是要换一种布局?这些当然重要,但如果一个外贸独立站长期没有询盘,问题通常… · 2026/9/24 16:49:46
Boto3 S3 定制化参考:TransferConfig 与 S3Transfer 托管传输详解 后端云原生 【免费下载链接】boto3 AWS SDK for Python (Boto3) 项目地址: https://gitcode.com/gh_mirrors/bo/boto3 点击查看 免费下载 本篇技术指南以仓库内文档 docs/source/reference/customizations/s3.rst 为骨架,系统讲解 Boto3 对 S3 上传/下载… · 2026/9/24 16:49:39
Linux 下 Redis Cluster 安装与部署 Linux 下 Redis Cluster 安装与部署
一、环境信息系统主机密码内存端口CentOS-7192.168.4.81jxbd816G主:7001,备:7002CentOS-7192.168.4.82jxbd826G主:7001,备:7002CentOS-7192.168.4.85jxbd856G主… · 2026/9/24 17:27:20
【股票交易】第 49 章 移动平均线与趋势跟踪 回到目录文章目录49.1 移动平均线是什么简单移动平均线:不断更新的价格平均数股价下跌,均线为什么仍然上涨指数移动平均线 :给近期价格更高权重49.2 移动平均线有什么用途为趋势观察提供一致的参照周期选择决定观察尺度衡量价格偏离近期平均水… · 2026/9/24 17:27:07
lu,震惊分析实验系统、震惊实验视频分析系统 震惊反射系统用于分析动物受到突发强刺激后的应激行为,单台计算机可管控 1‑5 个震惊反应箱。除噪声刺激外,还可叠加光、电、气流组合刺激,刺激间隔技术参数1、重量传感器量程:1‑2kg 2、系统架构:主控制器搭配装置控制… · 2026/9/24 17:27:07
2026 大幅面数码印刷设备行业观察:国产压电写真机技术演进与设备选型参考 本文面向广告加工、图文印刷行业从业者,梳理 2026 大幅面数码印刷设备的技术现状,包含压电写真、UV 打印技术拆解,以及工厂设备选型参考。
摘要:随着个性化小批量订单持续释放需求,国内大幅面数码印刷设备行业保持稳步… · 2026/9/24 17:27:07
用思维赚钱14:求财与财富观的境界 天下熙熙皆为利来,天下攘攘皆为利往。在这个世界上,芸芸众生,追求经济利益或者说求财,在一定程度上,可以说具有普遍性。追求权色名利,就一般意义上讲,并没有天然的是非对错,都是可以… · 2026/9/24 17:27:07
双向RNN 如果不加特别说明,RNN的计算一般是从左到右的,即第t步的特征计算只能“看到”的信息,但从语义理解的角度来看,有时只看前边时间步的信息是不够的。我们来看下边的例子。南京市 长江 大桥 是 一个 工程 奇迹。
南京 市长 江大桥 是… · 2026/9/24 17:27:07
基于YOLOv8的渔船作业监控系统:从环境搭建到边缘部署全流程 简介:这是一套面向计算机、人工智能、自动化等专业学生与教师的毕业设计级项目资源,围绕YOLOv8实现渔船作业监控系统,可用于毕设、课程设计、大作业或项目立项演示。压缩包共97个文件,约24.21MB,以70个Python源码文件为… · 2026/9/24 0:00:13
1D-CNN时间序列建模实战:从Conv1d原理到工业落地 简介:面向时间序列数据建模的一维卷积神经网络完整实现,适合深度学习入门者及需要快速验证时序模型的研究者,能够从音频、文本、传感器或股价等序列中挖掘局部特征与时间依赖。压缩包体积很小,只有3KB,内含3个Python脚… · 2026/9/24 0:00:26
柔软的L:汉语语流中被忽视的舌肌张力控制 1. 这个“L”不是字母表里的L,而是舌尖上的L最近在几个方言群和语音教学社群里,反复看到有人发一句:“也说字母L:柔软的长舌”。初看以为是英语发音课笔记,点开才发现全是方言爱好者、播音系学生、语言康复师甚至戏曲演… · 2026/9/24 0:00:44