Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2007.03.25;
Скачать: CL | DM;

Вниз

Подключение playlistoв   Найти похожие ветки 

 
Der Nechk@ssoff ©   (2006-06-02 16:07) [0]

Здрасте!Подскажите как осуществить потдержку m3u playlistов?
Файл должен открываться через opendialog в listbox.
Спасибо


 
BadTester   (2006-07-25 12:34) [1]

var
i: Integer;
begin
if OpenDialog3.Execute then
 begin
   ListBox.Clear;
   Memo1.Clear;
   Memo1.Lines.LoadFromFile(OpenDialog3.FileName);
   //Çàãðóçêà ñîáñòâåííîãî Playlist-à
{    if ExtractFileExt(OpenDialog3.FileName) = ".epl" then
     MEMO;}
   //Çàãðóçêà Playlist-à îò LightAllow - "LAP"
   if ExtractFileExt(OpenDialog3.FileName) = ".lap" then
   begin
     for i := 0 to Memo1.Lines.Count - 1 do
     begin
       if Memo1.Lines.Strings[i] = "" then
       begin
         Memo1.Lines.Delete(i - 1);
       end;
     end;
   end;
   //Çàãðóçêà Playlist-à  "M3U"
   if ExtractFileExt(OpenDialog3.FileName) = ".m3u" then
   begin
     Memo1.Lines.Delete(0);   //  Óäàëåíèå ïåðâûõ 2-óõ ñòðîê èç Memo1
     Memo1.Lines.Delete(0);   //
     for i := 0 to Memo1.Lines.Count - 1 do
     begin
       Memo1.Lines.Delete(i + 1);
     end;
   end;
   {if PlayList.Down = false then
   begin
     //PlaylistShow;
   end;}

 MEMO;
 end;
 PlayingIndex := 0;
end;


 
BadTester   (2006-07-25 12:37) [2]

А вот собственно сохранение

var
pl: Integer;
Filename: String;
begin
 if ListBox.Count <> 0 then                                        
 begin                                                                  
   for pl := 0 to ListBox.Count - 1 do                                        
   begin                                                                      
     PlayListItem := pPlayListitem(Listbox.Items.Objects[pl]);
     Filename := PlayListItem^.Path;                                          
     Filename := Filename + PlayListItem^.Filename;                        
     Memo1.Lines.Add(Filename);                    
   end;
   if SaveDialog3.Execute then                        
   Memo1.Lines.SaveToFile(SaveDialog3.FileName);    
 end;
end;


 
antonn ©   (2006-07-25 14:06) [3]

BadTester
предлагаю застрелиться самому (уж извеняйте, что так грубо).

procedure TF_PlayList.LoadPlayList_M3U(Filename: string);
var F: TextFile;
 Buffer,  sFilename: string;  
 i, iPos1, iPos2: Integer;
 A: pPlayListItem;
begin
 AssignFile(F, Filename);
 Reset(F);
 ReadLn(F, Buffer);
 if Buffer = "#EXTM3U" then begin
   i := 1;
   while not Eof(F) do begin
     ReadLn(F, Buffer);
     iPos1 := Pos(":", Buffer);    
     iPos2 := Pos(",", Buffer);
     время_звучания:=  formatdatetime("nn:ss", StrtoInt(Copy(Buffer, iPos1 + 1, iPos2 - iPos1 - 1))/(60*60*24)) ;
     title{название в списке плейлиста} := Copy(Buffer, iPos2 + 1, length(Buffer));
     ReadLn(F, sFilename); //sFilename - путь до файла
       ListBox1.Items.Add(sFilename);
       Inc(i);
   end;
 end;
end;

procedure TF_PlayList.SavePlayList_M3U(Filename: string);
var F: TextFile;
 Buffer: string;
 i: Integer;
begin
 AssignFile(F, Filename);
 Rewrite(F);
 Writeln(F, "#EXTM3U");  
 for i := 0 to listbox1.Items.Count - 1 do begin
   Buffer := Format("#EXTINF:%d,%s", [ Integer( 333{время звучания в секундах} ), "title"  ]);
   WriteLn(F, Buffer);
   WriteLn(F, listbox1.Items[i]{путь до файла} );
     end;
 CloseFile(F);
end;

if OpenDialog.Execute then LoadPlayList_M3U(OpenDialog.filename);




Страницы: 1 вся ветка

Текущий архив: 2007.03.25;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.035 c
2-1172752592
MrBabols
2007-03-01 15:36
2007.03.25
помогите дописать калькулятор


4-1163159712
novill
2006-11-10 14:55
2007.03.25
Есть у кого-нибудь заголовки функций gina.dll на Delphi?


15-1172499171
Petr V. Abramov
2007-02-26 17:12
2007.03.25
С почином!


2-1173027229
Chaval'
2007-03-04 19:53
2007.03.25
Тип db


8-1152533021
EV
2006-07-10 16:03
2007.03.25
32-битные изображения в Delphi