重庆分公司,新征程启航

为企业提供网站建设、域名注册、服务器等服务

vb.netln的简单介绍

vb.net中的int

Dim n As Integer = Integer.Parse(Command.ExecuteScalar("select count(sno) from student").ToString())

成都创新互联专注于天台网站建设服务及定制,我们拥有丰富的企业做网站经验。 热诚为您提供天台营销型网站建设,天台网站制作、天台网页设计、天台网站官网定制、小程序开发服务,打造天台网络公司原创品牌,更为您提供天台网站排名全网营销落地服务。

ExecuteScalar 返回的是 object 类型

关于播放器中的功能(歌词同步),急求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是什么

VB.net是微软最新平台技术,是.netframeworkSDK的一种语言。VB.net和VC#.net在功能上没有区别。编译以后生成的可执行文件被称为Assembly,即

程序集


当前名称:vb.netln的简单介绍
URL标题:http://cqcxhl.cn/article/dosjhpc.html

其他资讯

在线咨询
服务热线
服务热线:028-86922220
TOP