怎样把m3u 中的信息读入到 listview 中?(100分)

  • 主题发起人 主题发起人 情瑶遥
  • 开始时间 开始时间

情瑶遥

Unregistered / Unconfirmed
GUEST, unregistred user!
想自己弄个mp3播放器。:)
 
没装WINAMP。
COPY一个M3U的文件看一下。
 
m3u 里保存的就是文本信息啊,就是歌曲的路径。
 
我知道是文本,但我不知道格式,
如果知道格式,写一个这样的程序容易得不得了。
所以我才叫他COPY来看看啊。
 
#EXTM3U
#EXTINF:234,201 2145 18958
e:/mp3/new/201_2145_18958.mp3
#EXTINF:213,201 2145 18961
e:/mp3/new/201_2145_18961.mp3
#EXTINF:226,201 2145 18967
e:/mp3/new/201_2145_18967.mp3
#EXTINF:261,761 2602 24654
e:/mp3/cartoon/761_2602_24654.mp3
………………………………………………

就是这样的。它是隔行才出现路径的,怎么才能把 #EXTINF行 去掉呢?
 
一行一行读进来,判断第一个字符是否'#',
如果是,读下一行,否得话放到listview中.
 
Ok! 但是列表中出现的是 文件的路径,有没有办法显示歌曲的信息,就如winamp一样?
 
procedure TForm1.Button1Click(Sender: TObject);
var
slTmp : TStrings;
i : integer;
begin

slTmp := TSTringList.Create;
slTmp.LoadFromFile('G:/Documents and Settings/DWH/桌面/test.m3u');
for i := 0 to slTmp.Count - 1do

begin

if slTmp.Strings[1]<>'#' then

begin

listview1.Items.Add;
listview1.ItemFocused := listview1.items[listview1.items.count-1];
listview1.ItemFocused.Caption := extractFileName(slTmp.Strings);
end;

end;

slTmp.Free;
end;


procedure TForm1.FormCreate(Sender: TObject);
begin

listview1.ViewStyle := vsReport;
listview1.Columns.Add;
end;
 
显示歌曲的信息要去解析mp3文件,
http://www.delphibbs.com/delphibbs/dispq.asp?lid=187977
 
http://www.delphibbs.com/delphibbs/dispq.asp?lid=757904
 
谢谢 大家 分送出了 :)
 
多人接受答案了。
 
后退
顶部