关于播放器中的功能(歌词同步),急求VB.NET代码!!
思路很简单可以定义一个结构LyricStructure Lyric
让客户满意是我们工作的目标,不断超越客户的期望值来自于我们对这个行业的热爱。我们立志把好的技术通过有效、简单的方式提供给客户,将通过不懈努力成为客户在信息化领域值得信任、有价值的长期合作伙伴,公司提供的服务项目有:国际域名空间、雅安服务器托管、营销软件、网站建设、庐山网站维护、网站推广。
Dim Time As Single
Dim Content As String
End Structure声明一个列表 Private Lyrics As New List(Of Lyric)然后以文本方式把歌词文件读入一个变量 并对它进行分析 分别把时间和歌词内容存入一个Lyric,并加入Lyrics中。代码如下:(假设歌曲文件的路径为path)Dim LrcPath As String== IO.Path.GetDirectoryName(cPath) "/" IO.Path.GetFileNameWithoutExtension(cPath) ".lrc"If IO.File.Exists(LrcPath= True Then AnalysisLyric() Private Sub AnalysisLyric()
Lyrics.Clear() '先清空列表
Dim tm As Byte
Dim sr As New IO.StreamReader(LrcPath, System.Text.Encoding.Default) '读取歌词文件
Do While sr.EndOfStream = False '判断是否处于文件流末尾
Dim tmpStr As String = sr.ReadLine '读取一行
If tmpStr.Length 5 Then Continue Do '长度小于5则跳过,进行下一次循环
Select Case Mid(tmpStr, 2, 2) '判断第2-3个字符 因为歌词里的注释都是[ti:***]类似的结构
Case "ti"
lTitle = Mid(tmpStr, 5, tmpStr.Length - 5)
Case "ar"
lArtist = Mid(tmpStr, 5, tmpStr.Length - 5)
Case "al"
lAlbum = Mid(tmpStr, 5, tmpStr.Length - 5)
Case "by"
lAuthor = Mid(tmpStr, 5, tmpStr.Length - 5)
Case Else '如果不为以上的内容 则为歌词正文,进行以下操作
If Not Mid(tmpStr, 1, 6) Like "?##:##" Then Continue Do
Dim time(-1) As String '因为有时歌词是以[00:00.00][00:00.00]**** 这样歌词把多个时间存放在一起的 ,所以定义一个数组来存放歌词
Do '因为不确定时间的个数,所以此处必须循环判断
tm = InStr(tmpStr, "]") '因为歌词时间有时是[00:00.00]形式,有时是[00:00]形式,所以不能单纯的截取第几个字符 ,我是根据查找']'字符来进行判断的
ReDim Preserve time(time.GetUpperBound(0) + 1) 为time数组重新分配大小
time(time.GetUpperBound(0)) = Mid(tmpStr, 1, tm) 'time.GetUpperBound(0)返回数组的第一维的最大下标
tmpStr = IIf(tmpStr.Length = tm, " ", Mid(tmpStr, tm + 1)) '歌词内容
Loop While Mid(tmpStr, 1, 6) Like "?##:##" '如果截取剩下的部分依然匹配的话继续循环
For Each t In time '为每个时间都创建一个Lyric变量
Dim ln As Lyric
ln.Time = SwitchTime(Mid(t, 2, t.Length - 2))
ln.Content = tmpStr
Lyrics.Add(ln)
Next
End Select
Loop
sr.Close() 关闭流
Sort() '把所有Lyric按时间顺序排序
End Sub Private Function SwitchTime(ByVal time As String) As Single ‘这个函数是用来把00:00.00格式的时间转化成以秒数显示的数值
Dim tm As Single
Dim minute As Single = Val(Mid(time, 1, 2))
Dim second As Single = Val(Mid(time, 4, 5))
tm = minute * 60 + second
Return tm
End Function Private Sub Sort()
For i = 0 To Lyrics.Count - 2
For j = i To Lyrics.Count - 1
If Lyrics(i).Time Lyrics(j).Time Then
Dim tm As Lyric = Lyrics(i)
Lyrics(i) = Lyrics(j)
Lyrics(j) = tm
End If
Next
Next
End Sub 接下来是显示歌词的问题了 ,只要有每句歌词和对应的时间,那么问题就好办了。你可以用Windows Media Player控件返回的时间和每句歌词的时间做比较,来判断应该显示那一句。代码是很久前写的 ,那时没加注释,都是刚刚加上去的哟,你可以根据你的实际情况自己修改,有什么不懂的地方可以继续问我哈~~
VB.Net编程入门之Hello World(4)
四 第一个Visual Basic Net程序 Hello World!
如果你没有Visual Studio Net 你也可以通过一个文本编辑器和从微软下载安装 Net Frame Work SDK来编写Visual Basic Net 文本编辑器来编辑Visual Basic Net源程序 安装下载的 Net FrameWork SDK后就会用以Visual Basic Net的编译器Vbc exe 通过这个编译器就可以编译 联接用文本编辑器编辑的Visual Basic Net源文件 虽然这种做法能够让我们更加了解Visual Basic Net的运行机制和一些底层的机理 但却很难推广 一方面是Visual Studio Net的确是太优秀了 利用文本编辑器很难实现如资源编辑 组件编辑等操作 另外一方面 Visual Basic Net源文件结构相对复杂 用文本编辑器编写的代码会导致大量的错误 并且这些错误有很难查出来 而利用Visual Studio Net来开发Visual Basic Net应用程序就能够大大避免上述的尴尬 并且能够方便的调试编程中出现的各种警告 错误
本系列文章中介绍程序的编写 调试和运行的软件环境
( ) 视窗 服务器版
( ) Visual Studio Net 企业级结构设计版
用Visual Studio Net开发 Hello World! 程序
我们知道 Hello World 一般是命令行程序 而这种程序在Visual Studio Net中被称为 控制台程序 下面是Visual Studio Net编写控制台 Hello World! 程序的具体步骤
( ) 启动Visual Studio Net
( ) 选择菜单【文件】|【新建】|【项目】后 弹出【新建项目】对话框
( ) 将【项目类型】设置为【Visual Basic项目】
( ) 将【模板】设置为【控制台应用程序】
( ) 在【名称】文本框中输入【Hello World】
( ) 在【位置】的文本框中输入【E:\VS NET项目】 然后单击【确定】按钮 则Visual Studio Net会按照上面设定的参数创建一个控制台应用程序项目
( ) 在【解决方案资源管理器】窗口中 双击Module vb文件 进入Module vb文件的编辑界面
( ) Visual Studio Net已经为产生Main()函数 在系统创建的Main()函数中加入下面一行代码就可以了
Console WriteLine ( Hello World! )
( ) 选择【文件】|【保存Module vb】菜单或者按快捷键Ctrl+S 保存所做的修改
( ) 此时单击快捷键Ctrl+F 运行程序就可以得到运行界面
通过以上可见利用Visual Studio Net编写控制台 Hello World! 程序 自始至终只需输入一行代码 Visual Studio Net自动实现源程序编译 联接等过程 避免在命令行提示符下敲编译命令的苦恼 不仅如此Visual Studio Net自动的语法检测 既给程序员带来便捷 又避免了因为拼写造成的不必要的错误 等等这些都比起用行编辑器来编写Visual Basic Net程序要方便 简洁
Hello World! 程序是一个控制台程序 而后面的章节中程序的类型主要是Windows应用程序(一般简称WinForm程序) 利用Visual Studio Net编写WinForm应用程序和控制台应用程序步骤基本相似 下面就介绍一下Visual Studio Net编写WinForm类型的 Hello World 程序的基本步骤
Hello World! 程序的WinForm版本
Hello World! 程序的WinForm版本的可是我取的名字 此程序同样也是输出 Hello World! 字符串 只不过不是在命令提示行中实现 而是通过单击程序中的按钮 会弹出一个消息框 并在消息框中显示 Hello World! 字符串 下面是 Hello World! 程序的WinForm版本的具体步骤
( ) 启动Visual Studio Net
( ) 选择菜单【文件】|【新建】|【项目】后 弹出【新建项目】对话框
( ) 将【项目类型】设置为【Visual Basic项目】
( ) 将【模板】设置为【Windows应用程序】
( ) 在【名称】文本框中输入【Hello_World程序WinForm版】
( ) 在【位置】的文本框中输入【E:\VS NET项目】 然后单击【确定】按钮 则Visual Studio Net会按照上面设定的参数创建一个Windows应用程序项目
( ) 选择【工具箱】中的【Windows窗体组件】 并从中拖入一个Button组件到【Form vb(设计)】窗口 此组件名称为button 双击拖入的button 组件 Visual Studio Net会切换窗口到Form 的设计窗口 并自动产生button 的Click事件对应的代码
( ) 在button 的Click事件的代码区添加下列代码 下列代码的功能是弹出 Hello World! 提示框
MessageBox Show ( Hello World! )
( ) 选择【文件】|【保存Form vb】菜单或者按快捷键Ctrl+S 保存所做的修改
( ) 选择【生成】|【生成Hello_World程序WinForm版】菜单 则Visual Studio Net会自动编译 连接源程序 并生成Hello_World程序WinForm版的执行文件
( ) 选择【调试】|【启动】菜单或者单击快捷键 F 则开始运行Hello_World程序WinForm版程序 单击程序中的【button 】按钮 则弹出 Hello World! 提示框
至此Hello_World程序WinForm版程序的全部编写工作就完成了 对于其他的WinForm程序 其编写的基本步骤是相似的 只不过程序中涉及到更多的组件 类和其他的调用 无非是上面这些操作步骤的变形和再组合
五.总结
lishixinzhi/Article/program/net/201311/14627
我要学VB。
VB编程工具
Visual Basic 6.0简体中文版 Visual Basic 6.0绿色精简版 MSDN VB6精简版
VB入门教程
VB程序设计系列教程 VB 趣味例程 VB6实例教程
中文VB6傻瓜书 VB最简单入门教程 VB 6.0中文版范例入门与提高
VB初哥教学 VB编程标准 看实例学VB 6.0
VB.NET学习教程 VB.NET控件时尚编程百例 VB 中文版实用培训教程
VB经典编程 VB6循序渐进教程 VB 6.0 中文版教程
VB_NET实例解析与应用编程 VB.NET中高级篇 VB精彩编程200例
VB超级教程 VB API函数大全 Visual Basic 6.0实例教程
VB 6.0数据库开发学习教程 VB.NET数据库编程从入门到精通 VB6.0入门提高
21天学通Visual Basic.NET Visual Basic.NET实用全书 Visual Basic.NET学习范本
Visual Basic.NET培训教程 Visual Basic实用编程标准 VB学习教程
VB的控件的学习
VB编程开发技术
COM+与VB6分布式应用程序设计 Visual Basic 插件开发人员指南 VB.NET高级开发指南
VB.Net高级编程 VB.NET 面向对象可重用组件开发 Visual Basic精彩编程200例
VB.Net多媒体编程 VB.NET高级程序员指南 Visual Basic.NET GDI+技术教程
VB.Net控件应用编程实例教程 VB.NET XML Web开发人员指南 VB和SQL Server编程指南
用VB.NET开始Asp.NET1.1的开发 VB 游戏编程学习系统 Visual Basic.NET 编码技术
VB.NET面向对象CLASS的实现 VB.NET应用集锦例程 VB.NET实例解析应用编程
Visual Basic.Net与动态网页技术 VB6开发宝典 VB系统资源
VB 例程序讲解 VB.NET数据库开发实例 VB.NET与数据库开发教程
VB语言程序设计 VB.NET面向对象的实现 Visual Basic 6.0应用编程150例
Visual Basic.NET项目开发实践 Visual Basic 6.0 开发宝典 Visual Basic 6.0网络编程
Visual Basic6.0企业级应用程序开发 Visual Basic6.0数据库程序设计 Visual Basic .NET程序设计基础
Visual Basic.NET数据库开发教程 Visual Basic 6 循序渐进教程 VB游戏编程21天自学通
Visual Basic.NET进销存程序设计 Visual Basic程序设计导学 Visual Basic.NET技术内幕
VB.NET和SOL Server 2000高级编程 利用VB设计打印复杂报表 Visual Basic.NET编程基础
Visual Basic6.0元件程序开发指南 VB.Net网络数据库整合应用 Visual Basic或C#创建WS
Visual Basic.NET程序设计与应用
VB开发手册与指南
VB.Net与ASP.Net代码手册 VB 6.0中文版语言参考手册 VB编程经验手册
VB API 函数使用手册 VBA高级开发手册 VB速查手册之技巧篇
VB.NET Remoting 技术手册 VB.Net调试技术手册 Visual Basic 6.0 组件工具指南
VB.Net字符串和正则表达式参考手册 VBScript语言参考 VB6程序设计参考手册
VB技巧问答10000例 VB5 开发WEB数据库指南 VBscript英文帮助手册
VB6控件参考手册 VB6语言参考手册 VB6程序员指南
VB5开发WEB数据库指南 VBA 高级开发指南 VB中文版实用参考手册
VB编程经验手册 VB6组件工具指南 Visual Basic API函数参考手册
Visual Basic 6.0实用参考手册 Vsual Basic 6.0 控件参考手册 Visual Basic.NET类设计手册
Visual Basic.NET 语言参考手册 Visual Basic.net 反射参考手册 Visual Basic.net线程参考手册
Visual Basic编程经验手册 Visual Basic.Net专家指南 Visuai Basic.NET编程培训教程
VB速查手册之技巧篇 VBscript英文帮助手册
VB其它相关资源
VBSCRIPT函数方法速查 Visual Basic 第三方控件大全 Visual Basic 语言参考-函数速查
Access 2003 VBA 程序员参考书 VB、C快速进阶 V3.0 VB系统资源
VB Script语言参考 VB编程技巧集 VBScript 教程及语言参考
VBScript与JScript实例教程 VB精华文摘 Visual Basic 术语解释
VB常用函数 VBScript学习 VB学习一点通
VB Script基础 VBScript 帮助手册 Visual Basic 常用数值算法集
VB视频相关
VB编程与应用(电大)29讲 编程经典Visual Basic 用多媒体学Visual Basic
电子科大--- VB程序设计 VB.net多媒体教学
哪有Visual Studio 2005入门 asp.net视频教学使用的是vb.net语言哦
微软中国的视频教学,够牛了吧,都是专家讲课,从基础讲,,net2.0教学使用的是vb符合你的要求吧
地址是:
备注:你需要先注册一下才能看教程,教程可以在线看,和下载看,比如你要看.net2.0,你注册登陆后进入会员中心,然后你可以搜索一看自己要看的讲座,比如你可以搜.net2.0,或者你按找讲师来搜"苏鹏"他就是那个用vb来讲.NET2.0的那个人了,绝对是从零开始讲起,记住,一定要先注册,哦,忘记说了,如果你观看了直播还会有小礼物的呵呵。
文章题目:vb.net编程视频观看的简单介绍
分享地址:http://scgulin.cn/article/hhpejs.html