Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2009.04.05;
Скачать: CL | DM;

Вниз

Как организовать плейлист   Найти похожие ветки 

 
Roll ©   (2009-02-15 10:42) [0]

Вобщем у меня тут такая проблема. Никак не получается сделать простой плейлист, а точнее не магу сделать так чтобы при нажатии на кнопку ПЛЕЙ, проигравался выделенный в listbox файл. У меня воспроизводится только файл каторый был последним добавлен в плейлист. Заранее спасибо.


 
{RASkov} ©   (2009-02-15 11:00) [1]

> выделенный в listbox файл

В листбоксе файлов нет, но выделенный итем имет номер ItemIndex.... т.е. ЛистБокс.Итемс[ЛистБокс.ИтемИндекс]


 
Roll ©   (2009-02-15 11:07) [2]

Терь все понял! Спасибо за помощь, все работает )


 
Roll ©   (2009-02-15 11:25) [3]

Еще небольшой вапросик. Вот у меня играет песня 1, но при нажатии на другую песню в плейлисте, проигрывание первой останавливается. Может подскажете как сделать чтобы песня 1 всеравно продолжала проигрываться


 
{RASkov} ©   (2009-02-15 13:16) [4]

> [3] Roll ©   (15.02.09 11:25)

Ответ прост: у тебя не верный алгоритм.....
и еще.... есть же уже полно(наверное) всяких ТПлэйЛист"ов.... наверняка там "это" решено...


 
Roll ©   (2009-02-15 16:25) [5]


> и еще.... есть же уже полно(наверное) всяких ТПлэйЛист"ов.
> ... наверняка там "это" решено...

да.. но хотелось бы самому вникнуть "как эта работает"(прост мне скоро курсовую писать на схожую тему), вот и пытаюсь разобраться на практике. Ошибку в алгоритме нашел, но ... тепернь возникла другая )) : при нажатии next или prev воспроизводятся только следующая и предыдуща песни относительно выделенной в плейлисте.


 
Roll ©   (2009-02-15 16:27) [6]

вот такая процедурка висит на кнопке next

Mediaplayer1.FileName:=listbox1.items[listbox1.itemindex+1];

Mediaplayer1.open;
Mediaplayer1.Play;


 
{RASkov} ©   (2009-02-15 21:10) [7]

> [5] Roll ©   (15.02.09 16:25)

> [6] Roll ©   (15.02.09 16:27)

That?


 
{RASkov} ©   (2009-02-15 21:29) [8]

вот номера элементов твоего плей листа(листбокса):
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 рисовать "по своему" проигрывающий трек в данный момент и просто выделения итемов (те которые не играют) ...думаю, понято о чем я :)


 
Roll ©   (2009-02-15 21:51) [9]

Спасибо, шас папробую )



Страницы: 1 вся ветка

Текущий архив: 2009.04.05;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.017 c
2-1234781661
mozgan
2009-02-16 13:54
2009.04.05
ProgressBar как таблетки в Windows


15-1233915107
Skyle
2009-02-06 13:11
2009.04.05
Самодельный EML и почтовая программа. Нельзя указать получателя.


15-1233483473
killaTank
2009-02-01 13:17
2009.04.05
Авторские права


2-1234283158
Dr. Genius
2009-02-10 19:25
2009.04.05
Подводные камни при автоматическом выключении компьютера


2-1234764600
Abcdef123
2009-02-16 09:10
2009.04.05
TDBCombobox. Как НЕ позволить вводить новое значение?