Главная страница
    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.056 c
2-1172693006
Lonix
2007-02-28 23:03
2007.03.25
Вопрос с отправкой мыла


15-1172594281
ArtemESC
2007-02-27 19:38
2007.03.25
Завалил последний экзамен на последней пересдаче...


15-1172401016
Slimer
2007-02-25 13:56
2007.03.25
Проблема с клавой


2-1172838073
LigthStone
2007-03-02 15:21
2007.03.25
ReleaseCapture


15-1172843449
Ega23
2007-03-02 16:50
2007.03.25
Я тут компонент давеча предлагал потестить





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский