• Roll © (15.02.09 10:42) [0]
    Вобщем у меня тут такая проблема. Никак не получается сделать простой плейлист, а точнее не магу сделать так чтобы при нажатии на кнопку ПЛЕЙ, проигравался выделенный в listbox файл. У меня воспроизводится только файл каторый был последним добавлен в плейлист. Заранее спасибо.
  • {RASkov} © (15.02.09 11:00) [1]
    > выделенный в listbox файл

    В листбоксе файлов нет, но выделенный итем имет номер ItemIndex.... т.е. ЛистБокс.Итемс[ЛистБокс.ИтемИндекс]
  • Roll © (15.02.09 11:07) [2]
    Терь все понял! Спасибо за помощь, все работает )
  • Roll © (15.02.09 11:25) [3]
    Еще небольшой вапросик. Вот у меня играет песня 1, но при нажатии на другую песню в плейлисте, проигрывание первой останавливается. Может подскажете как сделать чтобы песня 1 всеравно продолжала проигрываться
  • {RASkov} © (15.02.09 13:16) [4]
    > [3] Roll ©   (15.02.09 11:25)

    Ответ прост: у тебя не верный алгоритм.....
    и еще.... есть же уже полно(наверное) всяких ТПлэйЛист'ов.... наверняка там "это" решено...
  • Roll © (15.02.09 16:25) [5]

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

    да.. но хотелось бы самому вникнуть "как эта работает"(прост мне скоро курсовую писать на схожую тему), вот и пытаюсь разобраться на практике. Ошибку в алгоритме нашел, но ... тепернь возникла другая )) : при нажатии next или prev воспроизводятся только следующая и предыдуща песни относительно выделенной в плейлисте.
  • Roll © (15.02.09 16:27) [6]
    вот такая процедурка висит на кнопке next

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

    Mediaplayer1.open;
    Mediaplayer1.Play;

  • {RASkov} © (15.02.09 21:10) [7]
    > [5] Roll ©   (15.02.09 16:25)

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

    That?
  • {RASkov} © (15.02.09 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 © (15.02.09 21:51) [9]
    Спасибо, шас папробую )
Есть новые Нет новых   [134431   +13][b:0][p:0.001]