Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Мультимедиа в Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 22.12.2009, 19:15   #1
iggor
Пользователь
 
Регистрация: 15.03.2009
Сообщений: 34
По умолчанию Плейлист в Delphi

Пробую связать TWindowsMediaPlayer с listbox'ом...что то не выходит В плейлист добавляется только путь к одной песне
Код:
procedure TForm1.N2Click(Sender: TObject);
var
  i : Integer;
begin
OpenDialog1.Title := 'Выбор файла';
    if not OpenDialog1.Execute
      then exit;
       WindowsMediaPlayer1.URL:=OpenDialog1.FileName;
       Listbox1.items.Strings[listbox1.ItemIndex]:=OpenDialog1.Files[i];
end;
procedure TForm1.ListBox1DblClick(Sender: TObject);
begin
WindowsMediaPlayer1.URL:=listbox1.items.Strings[listbox1.itemindex]//добавляем строки
end;
end.
iggor вне форума Ответить с цитированием
Старый 22.12.2009, 19:27   #2
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

Цитата:
В плейлист добавляется только путь к одной песне
Код:
Listbox1.items.Strings[listbox1.ItemIndex]:=OpenDialog1.Files[i];
у вас это и написано.

надо
Код:
var
  i : Integer;
begin
OpenDialog1.Title := 'Выбор файла';
if OpenDialog1.Execute then begin
                                        WindowsMediaPlayer1.URL:=OpenDialog1.FileName;
                                        for i:=0 to OpenDialog1.Files.Count-1 do Listbox1.items.Strings[listbox1.ItemIndex]:=OpenDialog1.Files[i];
end;
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 22.12.2009, 19:36   #3
iggor
Пользователь
 
Регистрация: 15.03.2009
Сообщений: 34
По умолчанию

Спасибо!!! У меня вот еще вопрос: а можно путь убрать чтоб в ListBox отображалось название песни???
iggor вне форума Ответить с цитированием
Старый 22.12.2009, 19:46   #4
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

тогда вам нужно где то отдельно сохранять полные пути к песням.
а так ExtractFileName(строка допустим)
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 22.12.2009, 22:58   #5
iggor
Пользователь
 
Регистрация: 15.03.2009
Сообщений: 34
По умолчанию

А можно чуть чуть по подробнее, это надо массив или можно переменную??
iggor вне форума Ответить с цитированием
Старый 22.12.2009, 23:10   #6
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

или массив или TStringList
а можно и ListView использовать
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 23.12.2009, 10:23   #7
Wicort
Форумчанин
 
Аватар для Wicort
 
Регистрация: 04.08.2009
Сообщений: 684
По умолчанию

Я примерно то же самое делал когда-то. В TStringList хранишь список файлов вместе с путями, а в плей-лист выводишь только имя файла. Далее при смене песни получаешь индекс в списке и по нему находишь путь к самому файлу в TStringList, т.к. индексы там будут одинаковые.
Еслия Вам помог, не поленитесь нажать на весы и оставить отзыв. Это не займет много времени, но даст понять, что я старался не зря =)
Мой ник зарегистрирован, а твой?
Wicort вне форума Ответить с цитированием
Старый 23.12.2009, 17:44   #8
iggor
Пользователь
 
Регистрация: 15.03.2009
Сообщений: 34
По умолчанию

если через TStringList это примерно так будет выглядеть??
Код:
procedure TForm2.Button1Click(Sender: TObject);
var
  i : Integer; Str: TStringList;
begin
//В ListBox1 название песни
Form1.OpenDialog1.Title := 'Выбор файла';
    if Form1.OpenDialog1.Execute
      then begin
       Form1.WindowsMediaPlayer1.URL:=Form1.OpenDialog1.FileName;
         for i:=0 to Form1.OpenDialog1.Files.Count-1 do
       ListBox1.Items.Add(ExtractFileName(Form1.OpenDialog1.Files[i]));
       begin
       //В  TStringList путь песни
       Str := TStringList.Create;
       Form1.WindowsMediaPlayer1.URL:=Form1.OpenDialog1.FileName;
       for i:=0 to Form1.OpenDialog1.Files.Count-1 do

        Str.? :=  Form1.OpenDialog1.Files[i];

  end;
end;
iggor вне форума Ответить с цитированием
Старый 24.12.2009, 00:24   #9
SoftKoc
Форумчанин
 
Аватар для SoftKoc
 
Регистрация: 07.11.2009
Сообщений: 218
По умолчанию

WindowsMediaPlayer1 - Это у вас так TMediaPlayer подписан???
Я бы изменил мир, но Бог не дает исходников...
Если помог, нажми на весы и поставь плюс - в знак благодарности
SoftKoc вне форума Ответить с цитированием
Старый 24.12.2009, 00:30   #10
uberchel
Участник клуба
 
Аватар для uberchel
 
Регистрация: 19.01.2009
Сообщений: 1,453
По умолчанию

Вот набросал функцию:
Код:
function CurrentMedia(List: TListBox; Open: TOpenDialog; OpenFiles: Boolean): string;
var
 i: integer;
begin
 if OpenFiles then
 begin
  for i:= 0 to Open.Files.Count -1 do begin
  S.Add(Open.Files[i]);
  List.Items.Add(ExtractFileName(Open.Files[i]));
 end; end else Result:= S[List.ItemIndex];
end;
//При открытии файла
Код:
procedure TForm1.Button1Click(Sender: TObject);
begin
 if OpenDialog1.Execute then
  CurrentMedia(ListBox1,OpenDialog1, True)else Exit;
end;
При клике по листбоксу:
Код:
WindowsMediaPlayer1.URL:= CurrentMedia(ListBox1,nil, False);
Ну и конечно S объявляем как глобальную переменную,создаем в TStringList в обработчике OnCreate;
Код:
S:= TStringList.Create;
И при закрытии вашего приложения пишем(Пишем в Close):
Код:
 S:= TStringList.Free;
SoftKoc!
нет, это не TMediaPlayer а WindowsMediaPlayer1 , находиться в Menu\components-InstallPackages.

Последний раз редактировалось uberchel; 24.12.2009 в 00:34.
uberchel вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Плейлист для плеера Stanislav Мультимедиа в Delphi 10 05.01.2011 12:59
Плейлист с помощью listbox BredoZavR Мультимедиа в Delphi 17 26.06.2009 14:12
Добавление файлов в плейлист Dr.Badnezz Мультимедиа в Delphi 12 26.01.2009 18:06
Mp3 плейлист Delphi AnToHa-KiLL Помощь студентам 2 13.07.2008 23:26
Помогите реализовать плейлист IGREK Общие вопросы Delphi 2 04.06.2008 09:08