lrc大家都知道吧(不知道?就是那個帶時間標籤的文字歌詞格式嘛~),很好用的東東~所以最近很多***player也開始支援它了。筆者手上就有乙個聯想f520的***支援,不過有點小麻煩,這個***只支援一行乙個時間標籤,但是筆者手頭上的lrc一行都有好些時間標籤,像這樣,***就會把後面的時間標籤全部顯示出來(暈~)
看來只能修改修改了~既然我們沒辦法修改***的韌體,那就在lrc上動手腳吧~把他展開為每行乙個時間標籤不就得了~說幹就幹!
不過我懶得再作介面,所以直接從命令列引數中獲取,此外這個糾錯機制不是很完善(畢竟才乙個過程),大家也可以幫忙修改~
**如下:
sub main()
dim s***mand() as string
dim btmp as byte
dim stmp as string
dim cfile as collection
dim inum as integer
dim stmp2 as string
dim i as integer
dim j as integer
dim st*** as string
dim bisadd as boolean
set cfile = new collection
s***mand = split(***mand, "*") '用*作分隔符,很簡單,檔名不能帶*,用?也可以
open s***mand(0) for input as #1
do until eof(1)
input #1, stmp
inum = 0
do while ((mid(stmp, inum * 9 + 1, 1) = "[") and (mid(stmp, (inum + 1) * 9, 1) = "]"))
inum = inum + 1
loop
stmp2 = right(stmp, len(stmp) - 9 * inum)
for i = 0 to inum - 1
st*** = mid(stmp, i * 9 + 2, 7)
if cfile.count = 0 then
cfile.add "[" & st*** & "]" & stmp2
else
bisadd = false
for j = 1 to cfile.count
if mid(cfile(j), 2, 7) > mid(stmp, i * 9 + 2, 7) then
cfile.add "[" & st*** & "]" & stmp2, , j
bisadd = true
exit for
end if
next j
if not bisadd then cfile.add "[" & st*** & "]" & stmp2
end if
next i
loop
close #1
open s***mand(1) for output as #1
for i = 1 to cfile.count
print #1, cfile(i)
next i
close #1
end sub
大家應該還能看的懂吧~這個經過試驗還是不錯的~
最終通過環境:vb6+win2000
LRC歌詞格式簡介
lrc歌詞文字中含有兩類標籤 一 標識標籤其格式為 標識名 值 ar 歌手名 artist藝術家 演唱者 ti 歌曲名 title題目,標題,曲目 al 名 album唱片集 by 編輯者 介詞 製作者 編輯人員 一般指lrc歌詞的製作人 二時間標籤,格式為 mm ss 或 mm ss.fff mm...
讀取LRC同步歌詞的類
下面就是這個類 code package lrc if gc.charcodeat j i 13 while gc.charcodeat j i 13 j i return fhz 將此檔案儲存為readlrc.as。注意 一定要把此as檔案放入乙個名為lrc的資料夾中,才可以使用。下面就用乙個小示...
使用lex來解析lrc歌詞檔案
剛學習lex的實踐.很簡單.lrc.l lex檔案,定義了time tag標記,以及操作 num 0 9 timetag n int yywrap 中間為空,沒有什麼要提前宣告的 num,timetag定義了識別乙個timetag的正規表示式 00 00 00 00.00 第乙個 後定義了找到乙個t...