Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > Мультимедиа
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 25.05.2008, 17:11
Аватар для ~~LR~~AlexXx
~~LR~~AlexXx ~~LR~~AlexXx вне форума
Прохожий
 
Регистрация: 24.05.2008
Адрес: Челябинск LR
Сообщения: 5
Репутация: 10
Вопрос Запуск песни через ListBox

Можно ли запускать песни через List Box чтобы в нем отражался не путь а название песни и после нажатие на List Box эта песня загружалась в MediaPlayer.(Пишите подробна Плиз)Спасибо!
Ответить с цитированием
  #2  
Старый 26.05.2008, 15:18
Аватар для KOOL
KOOL KOOL вне форума
Активный
 
Регистрация: 06.01.2008
Адрес: Рязань
Сообщения: 306
Версия Delphi: 2009
Репутация: 6150
По умолчанию

Можно пойти двумя путями
1) В одном списке отображать заголовки(теги) песен, и создать второй список(невидимый), где в том же порядке будут пути к файлам. Тогда код будет типа такого:
Код:
procedure TListBox1.OnDblClick(Sender : TObject);
begin
  if (ListBox1.ItemIndex>=0)and(ListBox1.ItemIndex<ListBox1.Items.Count) then
    begin
      StopPlaying;//остановить проигрывание
      SongIndex := ListBox1.ItemIndex;//текущий номер песни
      PlayFile(ListBox2.Items.Strings[ListBox1.ItemIndex]);//начать играть
    end;
end;
В этом случае надо работать со списками параллельно.(Удалил файл из первого списка-удали и из второго);
2) Делать все через ListView. Тогда в первой колонке будут номера песен, во второй-заголовки, в третьей-путь, в четвертой-время. Третью колонку надо сделать шириной 0.
Тут надо не забывать, что перед тем, как записать данные в колонки 2-4, надо их создать.
Ответить с цитированием
  #3  
Старый 26.05.2008, 15:28
Аватар для ~~LR~~AlexXx
~~LR~~AlexXx ~~LR~~AlexXx вне форума
Прохожий
 
Регистрация: 24.05.2008
Адрес: Челябинск LR
Сообщения: 5
Репутация: 10
Хорошо ОК

Спасибо за помощь щас Попробую!
Ответить с цитированием
  #4  
Старый 26.05.2008, 16:05
Аватар для ~~LR~~AlexXx
~~LR~~AlexXx ~~LR~~AlexXx вне форума
Прохожий
 
Регистрация: 24.05.2008
Адрес: Челябинск LR
Сообщения: 5
Репутация: 10
Сообщение Help

Я думаю что StopPlaying это Procedure Остановки MediaPlayer;
SongIndex это Var Integer;
PlayFile что?
Как правильно загрузить в List Box путь к файлу
.ОбрСоб.
Begin
if Form1.OpenDialog1.Execute then
begin
Form1.OpenDialog1.FileName := Form1.MediaPlayer1.FileName;
Form1.MediaPlayer1.Play;
end;
Ответить с цитированием
  #5  
Старый 26.05.2008, 16:06
Аватар для ~~LR~~AlexXx
~~LR~~AlexXx ~~LR~~AlexXx вне форума
Прохожий
 
Регистрация: 24.05.2008
Адрес: Челябинск LR
Сообщения: 5
Репутация: 10
Сообщение HELP

С п а с и б о !

Последний раз редактировалось ~~LR~~AlexXx, 26.05.2008 в 16:09.
Ответить с цитированием
  #6  
Старый 26.05.2008, 16:36
Аватар для KOOL
KOOL KOOL вне форума
Активный
 
Регистрация: 06.01.2008
Адрес: Рязань
Сообщения: 306
Версия Delphi: 2009
Репутация: 6150
По умолчанию

StopPlaying - процедура, где надо остановить плеер(может называться как угодно)
Код:
procedure TForm1.StopPlaying;
begin
  MediaPlayer1.Stop;
  MediaPlayer1.Close;
  MediaPlayer.FileName := '';//может както еще..не помню
end;
Код:
procedure TForm1.PlayFile(FilePath : string);
begin
  if FileExists(FilePath) then
    begin
      MediaPlayer.FileName := '';
      MediaPlayer1.Open;
      MediaPlayer1.Play;
    end;
end;
Как правильно загрузить в List Box путь к файлу
Код:
procedure TForm1.AddFilesButClick(Sender: TObject);
var i : integer;
    It : TListItem;
    Strs : TStrings;
begin
  if OpenDialog1.Execute then
  begin
    Strs := OpenDialog1.Files;
    for i :=0 to OpenDialog1.Files.Count-1 do
      begin
        Application.ProcessMessages;
        it := ListView1.Items.Add;
        it.Caption:=IntToStr(ListView.Items.Count);//номер в списке
        it.SubItems.Add(GetTag(Strs[i]));//GetTag-процедура чтения тегов
        it.SubItems.Add(Strs[i]);//путь к файлу
        it.SubItems.Add(GetTime(Strs[i]));//GetTime-процедура чтения длительности
      end;
  end;
end;
Ответить с цитированием
  #7  
Старый 26.05.2008, 17:00
Аватар для ~~LR~~AlexXx
~~LR~~AlexXx ~~LR~~AlexXx вне форума
Прохожий
 
Регистрация: 24.05.2008
Адрес: Челябинск LR
Сообщения: 5
Репутация: 10
Радость Всё понел

Спасибо Большое за Помощь
__________________
ICQ 353313843
Ответить с цитированием
  #8  
Старый 26.05.2008, 17:55
Аватар для KOOL
KOOL KOOL вне форума
Активный
 
Регистрация: 06.01.2008
Адрес: Рязань
Сообщения: 306
Версия Delphi: 2009
Репутация: 6150
По умолчанию

Пожалуйста
Чуть не забыл...
Код:
procedure TForm1.ListView1DblClick(Sender : TObject);
...
PlayFile(ListView.Items.Item[ListView1.ItemIndex].SubItems.Strings[2]);
...
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 04:15.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter