lyric歌词处理

简介:

private static ArrayList LoadLyric(string LrcStr)
{
ArrayList arrayListLyrics = new ArrayList();
try
{
ArrayList LrcArr = new ArrayList();
string[] listArr = LrcStr.Split('\n');
Regex reg = new Regex(@"[[0-5][0-9]:[0-5][0-9].[0-9][0-9]]");

for (int i = 0; i < listArr.Length; i++)
{
string lrc = listArr[i];
int len = reg.Match(lrc).Length + 1;
MatchCollection mc = null;
mc = reg.Matches(lrc);
string lyric = lrc.Substring(len * mc.Count);
for (int j = 0; j < mc.Count; j++)
{
ObjLrc obj = new ObjLrc();
string ctime = mc[j].Value.Replace("[", "").Replace("]", "");
String[] s = ctime.Split(':');
double ntime = int.Parse(s[0]) * 60 + double.Parse(s[1]);
obj.timer = ntime;
obj.lyric = lyric;
LrcArr.Add(obj);
}
}
IComparer myComper = new Comparer();
LrcArr.Sort(myComper);

for (int i = 0; i < LrcArr.Count; i++)
{
ObjLrc obj = new ObjLrc();
obj = (ObjLrc)LrcArr[i];
if (!string.IsNullOrEmpty(obj.lyric.Replace("\r", "")))
{
double beginTime;
double endTime;
String lyc;
beginTime = obj.timer;
lyc = obj.lyric;
int j = i + 1;
if (j < LrcArr.Count)
{
obj = (ObjLrc)LrcArr[j];
endTime = obj.timer;
}
else
{
endTime = obj.timer + 5;
}
Lyric lyric = new Lyric(beginTime, endTime, lyc);
arrayListLyrics.Add(lyric);
}
}
}
catch
{

}
return arrayListLyrics;
}

public class Comparer : IComparer
{
int IComparer.Compare(object A, object B)
{
ObjLrc paraA = (ObjLrc)A;
ObjLrc paraB = (ObjLrc)B;
if (paraA.timer > paraB.timer)
{
return 1;
}
if (paraA.timer < paraB.timer)
{
return -1;
}
return 0;
}
}
struct ObjLrc
{
public double timer;
public string lyric;
}
public class Lyric
{
public double beginTime;
public double endTime;
public String lyc;
public int position;//歌词显示的位置,0未设置,1在上面,2在下面

public Lyric(double beginTime, double endTime, String lyc)
{
this.beginTime = beginTime;
this.endTime = endTime;
this.lyc = lyc;
this.position = 0;
}
}




本文转自94cool博客园博客,原文链接:http://www.cnblogs.com/94cool/archive/2009/11/09/1598820.html,如需转载请自行联系原作者

相关文章
|
机器学习/深度学习 人工智能 自然语言处理
当前AI大模型在软件开发中的创新应用与挑战
2024年,AI大模型在软件开发领域的应用正重塑传统流程,从自动化编码、智能协作到代码审查和测试,显著提升了开发效率和代码质量。然而,技术挑战、伦理安全及模型可解释性等问题仍需解决。未来,AI将继续推动软件开发向更高效、智能化方向发展。
|
11月前
|
算法 C++
【C++数据结构——查找】二叉排序树(头歌实践教学平台习题)【合集】
【数据结构——查找】二叉排序树(头歌实践教学平台习题)【合集】 目录 任务描述 相关知识 测试说明 我的通关代码: 测试结果: 任务描述 本关任务:实现二叉排序树的基本算法。 相关知识 为了完成本关任务,你需要掌握:二叉树的创建、查找和删除算法。具体如下: (1)由关键字序列(4,9,0,1,8,6,3,5,2,7)创建一棵二叉排序树bt并以括号表示法输出。 (2)判断bt是否为一棵二叉排序树。 (3)采用递归方法查找关键字为6的结点,并输出其查找路径。 (4)分别删除bt中关键
300 11
【C++数据结构——查找】二叉排序树(头歌实践教学平台习题)【合集】
|
数据可视化
利用数据可视化工具处理数据异常的具体流程是什么?
利用数据可视化工具处理数据异常的具体流程是什么?
461 60
|
11月前
|
运维 安全 Linux
浪潮信息KeyarchOS机密计算实践及解决方案|龙蜥大讲堂108期
浪潮信息KeyarchOS机密计算实践及解决方案在龙蜥大讲堂第108期中进行了详细分享。主要内容包括: 1. **KeyarchOS机密计算实践** 2. **KeyarchOS机密计算解决方案** 3. **应用案例** 4. **共建生态**:呼吁合作伙伴共同构建KeyarchOS解决方案生态,推动软硬件一体化发展,为客户提供更优质的服务。 更多学习内容可访问阿里云培训平台,课程链接:&lt;https://developer.aliyun.com/live/254037&gt;。
275 13
|
11月前
|
安全 算法 数据安全/隐私保护
安全漏洞、eBPF、机密计算、商用密码等技术分享|龙蜥大讲堂113期
欢迎大家参加首届中国研究生操作系统创新大赛。我是龙蜥社区安全委员会委员、阿里云技术专家张诗乐。今天,我将为大家介绍龙蜥社区的漏洞治理以及相关的赛题。主要内容分为三个部分:首先,我将简要介绍龙蜥社区及其操作系统;其次,我们将探讨龙蜥社区的漏洞治理流程;最后,我们将解析与龙蜥社区相关的赛题。 1. 龙蜥社区漏洞治理 2. 龙蜥社区赛题介绍 3. 基于 eBPF 的容器异常检测 4. 赛题解析系列
338 12
|
11月前
|
缓存 安全 Linux
通过层级内隔离提升软件的安全性|龙蜥大讲堂第112期
本次分享的主题是通过层级内隔离提升软件的安全性,由中科院计算所的武成岗分享。主要分为以下两个部分: 1. 计算系统的安全关乎着整个“数字化”世界的安全 2. 目标:同时获取微内核的安全性和宏内核的高性能 3. 层级内隔离手段 4. 总结
346 12
|
10月前
|
前端开发 数据安全/隐私保护 开发者
FirstUI:Deepseek能帮我们做很多事情,而这款开源框架专为开发者设计的开源UI框架,让你的项目加速起飞
嗨,大家好,我是小华同学。今天为大家介绍一个轻量级、响应式的前端UI框架——FirstUI。它提供丰富的组件库,包括按钮、输入框、下拉菜单等,帮助开发者快速构建美观、功能丰富的用户界面。FirstUI的核心理念是“简单、快速、高效”,适合各种Web应用开发,如企业网站、电商平台和个人博客。其体积小、加载快,支持响应式设计,并且易于定制。FirstUI拥有活跃的社区支持,开发者可以轻松找到帮助并分享经验。欢迎关注我们,获取更多优质开源项目和高效工作学习方法。
428 0
|
11月前
|
关系型数据库 MySQL 分布式数据库
[PolarDB实操课] 05.通过源码部署PolarDB-X标准版
本课程介绍如何通过源码部署PolarDB-X标准版,涵盖基于Paxos的MySQL三副本工作原理和技术特点。主要内容包括: 1. **Paxos三副本工作原理**:讲解Leader和Follower节点的角色及数据同步机制。 2. **技术特点**:强调高性能、数据不丢失(RPO=0)和自动HA切换。 3. **源码部署步骤**:详细演示从编译生成RPM包到启动DN节点的过程,包括配置my.cnf文件和初始化数据库。 4. **高可用体验**:通过三台机器模拟三副本集群,展示Leader选举和故障转移机制,确保数据一致性和服务可用性。
408 1
|
12月前
|
机器学习/深度学习 人工智能 自然语言处理
MetaGPT开源SELA,用AI设计AI,效果超越OpenAI使用的AIDE
MetaGPT团队开源了Tree-Search Enhanced LLM Agents(SELA)系统,通过蒙特卡罗树搜索(MCTS)优化AutoML过程,显著提升了机器学习模型的构建效率和性能。SELA在20个数据集上的实验结果表明,其性能优于传统AutoML方法和基于LLM的代理,为AutoML领域带来了新的突破。
398 4
|
11月前
|
存储 架构师 容灾
阿里云基础设施高可用最佳实践沙龙上海站圆满举办!
2025年1月9日,阿里云在上海虹桥绿地铂瑞酒店成功举办基础设施高可用最佳实践沙龙NO.1。活动吸引了华东地区多家企业的CTO、架构师和技术从业者参与。专家们分享了高可用的基础知识、分级标准及云端架构实战经验,涵盖计算、存储、网络和云原生等领域,重点讨论了企业如何在阿里云上构建高可用数据中心。现场互动热烈,参会者与专家深入交流,探讨技术应用与合作机会。