Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Media";
Текущий архив: 2007.03.25;
Скачать: [xml.tar.bz2];

Вниз

Подключение 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 вся ветка

Форум: "Media";
Текущий архив: 2007.03.25;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.45 MB
Время: 0.059 c
15-1172574124
DrDe
2007-02-27 14:02
2007.03.25
Delphi7, компи.....


2-1172857538
pasha star
2007-03-02 20:45
2007.03.25
OnВыбрал это окно


1-1170148834
Still Swamp
2007-01-30 12:20
2007.03.25
Open Office + Delphi


11-1142828301
Kealon
2006-03-20 07:18
2007.03.25
KeyPreview


4-1163046869
Ландграф Павел
2006-11-09 07:34
2007.03.25
GetShortPathName глюк в работе функции





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский