# Runoi.Flish **Repository Path**: footer/Runoi.Flish ## Basic Information - **Project Name**: Runoi.Flish - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-01-16 - **Last Updated**: 2026-01-19 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Runoi.Flish - 桌面歌词显示应用 Runoi.Flish 是一个基于 WPF 的桌面歌词显示应用程序,支持 LRC 格式歌词文件的解析和实时显示,提供窗口控制、字体大小调节、透明度调节等实用功能。 ## 功能特性 - **歌词显示**:支持 LRC 格式歌词的解析和实时滚动显示 - **字体调节多种预设字体大小**:提供(小/中/大/超大),支持滑块精确调节 - **透明度调节**:通过滑块调节窗口透明度,方便在背景中使用 - **窗口控制**:支持窗口置顶、最小化、关闭等操作 - **歌词导航**:支持手动切换上一句/下一句歌词 - **响应式设计**:界面布局自适应不同屏幕分辨率 ## 技术栈 - **.NET WPF**:Windows Presentation Foundation 桌面应用框架 - **C#**:主要开发语言 - **MVVM 架构**:采用 Model-View-ViewModel 设计模式 - **XAML**:用于定义用户界面 ## 系统架构 项目采用经典的 MVVM 架构,将界面逻辑与业务逻辑分离: ### 模型层 (Models) - `LrcLine`:歌词行数据模型,包含时间戳和歌词文本 - `LyricItem`:歌词项模型,继承自 LrcLine,增加当前高亮状态标识 ### 视图层 (Views) - `MainWindow`:主窗口,包含控制按钮和歌词显示区域 - `LyricControl`:歌词自定义控件,负责歌词的渲染和显示 ### 视图模型层 (ViewModels) - `BaseViewModel`:基类,实现 INotifyPropertyChanged 接口 - `LyricsViewModel`:歌词视图模型,管理歌词数据、播放状态和用户交互 ### 服务层 (Services) - `LrcParserService`:LRC 歌词解析服务,负责将 LRC 文本转换为歌词对象列表 ## 项目结构 ``` Runoi.Flish/ ├── MainWindow.xaml.cs # 主窗口逻辑 ├── App.xaml # 应用程序定义 ├── App.xaml.cs # 应用程序入口 ├── Models/ │ ├── LrcLine.cs # 歌词行模型 │ └── LyricItem.cs # 歌词项模型 ├── Services/ │ └── LrcParserService.cs # LRC 解析服务 ├── ViewModels/ │ ├── BaseViewModel.cs # 视图模型基类 │ └── LyricsViewModel.cs # 歌词视图模型 └── Runoi.Flish.csproj # 项目配置文件 ``` ## 使用说明 ### 运行要求 - Windows 操作系统 - .NET Framework 4.5 或更高版本 - Visual Studio 2019 或更高版本 ### 安装部署 1. 克隆或下载项目代码 2. 使用 Visual Studio 打开 `Runoi.Flish.sln` 解决方案文件 3. 按 F5 编译并运行项目 ### 操作指南 - **播放/暂停**:点击播放/暂停按钮控制歌词滚动 - **字体大小**:通过菜单或滑块调节歌词字体大小 - **透明度调节**:拖动透明度滑块调整窗口透明度 - **窗口置顶**:勾选"置顶"使窗口始终显示在最上层 - **手动导航**:使用"上一句"/"下一句"按钮手动切换歌词 ## 核心实现 ### LRC 歌词解析 ```csharp // LrcParserService.cs public static List Parse(string lrcText) { // 解析 LRC 格式歌词文本 // 格式示例:[00:12.34]歌词内容 } ``` ### 歌词同步显示 ```csharp // LyricControl.cs public void UpdateLyricPosition(TimeSpan currentTime) { // 根据当前播放时间更新歌词显示位置 // 高亮当前歌词行 } ``` ### 播放控制 ```csharp // LyricsViewModel.cs public void StartPlayback() public void StopPlayback() public void PausePlayback() public void ResumePlayback() ``` ## 贡献指南 1. Fork 本项目 2. 创建您的特性分支 (`git checkout -b feature/AmazingFeature`) 3. 提交您的更改 (`git commit -m 'Add some AmazingFeature'`) 4. 推送到分支 (`git push origin feature/AmazingFeature`) 5. 开启一个 Pull Request ## 开源协议 本项目遵循 MIT 开源协议。 ## 联系方式 如有问题或建议,请通过 Gitee 项目页面提交 Issue 或联系项目维护者。 --- **作者**:footer **项目地址**:[Runoi.Flish](https://gitee.com/footer/Runoi.Flish)