2007年12月20日发布的《LRC歌词分析函数》一文(链接地址:http://blog.csdn.net/chenjl1031/archive/2007/12/20/1955447.aspx),能处理绝大多数LRC格式的歌词,但仍有一些LRC格式的歌词因为格式不规范,无法正确处理,主要体现在时间标签的多样性。现作了改进,公布如下:
'***************************************************************************
' LRC歌词分析函数模块(模块名:Lrc.bas)
' 调用成功(分析歌词成功)后:LyricsAnalysis=True,并返回排好序的歌词数组LRCgeci,
' 以及歌曲名GeMing、歌手GeShou、专辑ZhuanJi、编者GeCiFrom;否则返回LyricsAnalysis=False
' 最后一个FOR循环是对歌词排序,歌词排序是同步播放的关键!
' 特别声明:转载请用IP地址,严禁原文转载!
' 作者:Chenjl1031(东方之珠)
'***************************************************************************
Option Explicit
'处理LRC歌词
Public LRCgeci() As String 'LRC歌词按行存放在数组中
Public iDimention As Integer '数组维数
Public GeMing As String, GeShou As String, ZhuanJi As String, GeCiFrom As String
Public LrcOffset As String 'LRC歌词时间偏移量
'LRC歌词分析函数
Public Function LyricsAnalysis(ByVal LyricsName As String) As Boolean
Dim FileNumber As Long, FileCount As Long, i As Long, j As Long, K As Long
Dim Pos1 As Long, Pos2 As Long '分别存放"["和"]"的位置
Dim Cjl As Long
Dim MyValue As String
Dim sRow As String
Dim TimeLabel As String
Dim miniute As Long, second As Long, msecond As Long 'miniute代表分,second代表秒,msecond代表毫秒
Dim s1 As String, s2 As String