第三节 歌词.pptx
《第三节 歌词.pptx》由会员分享,可在线阅读,更多相关《第三节 歌词.pptx(29页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、注:课件和视频版权归作者所有,未经许可不准上传、传播、商用。注:课件和视频版权归作者所有,未经许可不准上传、传播、商用。正版视频:http:/ 接下来我将用认真、严谨、诚恳、专业的态度接下来我将用认真、严谨、诚恳、专业的态度和大家一起学习这个播放器的制作。将带领大家从和大家一起学习这个播放器的制作。将带领大家从无到有,完整的编写一个酷酷的播放器。手写每一无到有,完整的编写一个酷酷的播放器。手写每一行代码,讲述每一个关键技术。行代码,讲述每一个关键技术。现在很多书籍内容很多,做出来的东西却粗制现在很多书籍内容很多,做出来的东西却粗制滥造。结尾的都会加一句滥造。结尾的都会加一句“进一步需要读者自己
2、完进一步需要读者自己完善善”。有时候我就在想有没有一本写完整的书?真。有时候我就在想有没有一本写完整的书?真是一堆垃圾!是一堆垃圾!这个酷酷的播放器是开源网上的代码演变而来,这个酷酷的播放器是开源网上的代码演变而来,然后我尽了所有知道的知识去完善它,然后我尽了所有知道的知识去完善它,希望能给学习希望能给学习C#C#朋友,带来帮助!朋友,带来帮助!介绍:介绍:介绍:介绍:第三节第三节 歌词设计歌词设计11.歌词显示原理1.用正则表达式分解歌词的 时间 内容存入一个Dictionary字典集合,时间-Key、内容-Value;2.设置一个定时器,在歌曲播放时载入歌词Dictionary。3.根据当
3、前媒体播放时间,匹配Dictionary中的时间。如果匹配成功,则调出对应的内容,显示到窗体,歌词显示完成。歌词图解歌词作者歌曲标题时间歌词内容2.2.关键技术解读关键技术解读1.正则表达式2.集合3.Linq查询注:这几个技术非常常用,而且非常重要。但也有点复杂,视频中不做过多讲解。不懂的屌丝们自觉补脑。正则表达式正则表达式1.正则表达式:一种筛选字符串的语法规则。(详细了解文档中Mini Music制作网页资料正则表达式30分钟入门教程)2.我们用到两个表达式:时间提取:(?=).*?(?=);内容提取:(?=)(?!).*;3.操作正则表达似的类为Regex,使用时导入空间:using
4、System.Text.RegularExpressions。4.一个正则匹配结果接收集合。时间提取正则表达式时间提取正则表达式歌词的格式:时间 XXX内容xxxxx提取时间语法为:前面有 一到多个字符 后面有。1.前面有 我们要选用“零宽断言”,语法为(?=exp:它断言自身出现的位置的前面能匹配表达式exp)。2.后面有 我们要选用“零宽断言”,语法为(?=exp:它断言自身出现的位置的后面能匹配表达式exp)。3.字符串用什么表示呢。这里用.(匹配除“n”之外的任何单个字符)4.要匹配一个或多个字符串呢用+(一次或多次匹配前面的字符或子表达式)5.默认匹配的 字符为“贪心模式”,例:12
5、3456 匹配的结果是123456.因此我们要使用“非贪心模式”用?紧随任何其他限定符(*、+、?、n、n,、n,m)之后.(”非贪心模式”匹配搜索到的、尽可能短的字符串)。表达式为:(?=).+?(?=)歌词提取正则表达式歌词提取正则表达式歌词的格式:时间 XXX内容xxxxx提取歌词语法为:前面有紧接的不是零个或多个字符串。1.前面有 语法为(?=)(?=exp:它断言自身出现的位置的前面能匹配表达式exp)。2.紧接着没有 我们要选用“零宽断言”,语法为(?!exp:它断言自身出现的位置的后面不能匹配表达式exp)。3.字符串用.(匹配除“n”之外的任何单个字符)4.要匹配零个或多个字符
6、串呢用*(零次或多次匹配前面的字符或子表达式)表达式为:(?=)(?!)*.集合集合1.用到字典集合Dictionary2.只用到了简单的添加方法Add()注:集合的具体学习,可查看C#入门经典一书。LinqLinq查询查询1.用到Linq查询的查询,和排序 注:Linq的更多学习,可查看C#入门经典一书。3.3.歌词类编写歌词类编写1.建立控制台程式。2.调试主要功能。3.添加Lrc类。关键功能调试代码(读取LRC所有行):public static Dictionary lrcDictionary=new Dictionary();static void Main(string args)
7、string excTime=(?=).*?(?=);string excText=(?=)(?!).*;MatchCollection matchTime;MatchCollection matchText;/读取文件所有行 string str=File.ReadAllLines(.给你们.lrc);foreach(string s in str)Console.WriteLine(s);关键功能调试代码(匹配正则式):for(int i=0;i str.Length-1;i+)matchTime=Regex.Matches(stri,excTime);matchText=Regex.Ma
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第三节 歌词 三节
限制150内