![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как организовать плейлист [D7, WinXP]
Roll © (2009-02-15 10:42:00)Вобщем у меня тут такая проблема. Никак не получается сделать простой плейлист, а точнее не магу сделать так чтобы при нажатии на кнопку ПЛЕЙ, проигравался выделенный в listbox файл. У меня воспроизводится только файл каторый был последним добавлен в плейлист. Заранее спасибо.
Roll (2009-02-15 21:51:00) [1]Спасибо, шас папробую )
{RASkov} (2009-02-15 21:29:00) [2]вот номера элементов твоего плей листа(листбокса):
0
1
2
3
4
5
создаешь массив целых чисел размером как в листбоксе.
var MyArr: array of Integer;
SetLength(MyArr, ListBox.Items.Count);
заполняешь и перемешиваешь его таким образом:
3
5
0
2
4
1
и еще переменную Position заводишь(можно воспользоваться ListBox.Tag)
далее на кнопках next и prev соответственно:
if ListBox.Tag<ListBox.Items.Count-1 then ListBox.Tag:=ListBox.Tag+1;
if ListBox.Tag>0 then ListBox.Tag:=ListBox.Tag-1;
Далее:
Mediaplayer1.Close;
Mediaplayer1.FileName:=listbox1.items[MyArr[ListBox.Tag]];
Mediaplayer1.open;
Mediaplayer1.Play;
Примерно так....
Только в листбоксе нужно на DrawItem рисовать "по своему" проигрывающий трек в данный момент и просто выделения итемов (те которые не играют) ...думаю, понято о чем я :)
{RASkov} (2009-02-15 21:10:00) [3]> [5] Roll © (15.02.09 16:25)
> [6] Roll © (15.02.09 16:27)
That?
Roll (2009-02-15 16:27:00) [4]вот такая процедурка висит на кнопке next
Mediaplayer1.FileName:=listbox1.items[listbox1.itemindex+1];
Mediaplayer1.open;
Mediaplayer1.Play;
Roll (2009-02-15 16:25:00) [5]
> и еще.... есть же уже полно(наверное) всяких ТПлэйЛист'ов.
> ... наверняка там "это" решено...
да.. но хотелось бы самому вникнуть "как эта работает"(прост мне скоро курсовую писать на схожую тему), вот и пытаюсь разобраться на практике. Ошибку в алгоритме нашел, но ... тепернь возникла другая )) : при нажатии next или prev воспроизводятся только следующая и предыдуща песни относительно выделенной в плейлисте.
{RASkov} (2009-02-15 13:16:00) [6]> [3] Roll © (15.02.09 11:25)
Ответ прост: у тебя не верный алгоритм.....
и еще.... есть же уже полно(наверное) всяких ТПлэйЛист'ов.... наверняка там "это" решено...
Roll (2009-02-15 11:25:00) [7]Еще небольшой вапросик. Вот у меня играет песня 1, но при нажатии на другую песню в плейлисте, проигрывание первой останавливается. Может подскажете как сделать чтобы песня 1 всеравно продолжала проигрываться
Roll (2009-02-15 11:07:00) [8]Терь все понял! Спасибо за помощь, все работает )
{RASkov} (2009-02-15 11:00:00) [9]> выделенный в listbox файл
В листбоксе файлов нет, но выделенный итем имет номер ItemIndex.... т.е. ЛистБокс.Итемс[ЛистБокс.ИтемИндекс]