Суббота, 16.12.2017, 21:24
Приветствую Вас Гость

Не ошибается тот, кто ничего не делает.
Но и ничего не делать - ошибка.

Эмиль Кроткий

[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
Страница 1 из 11
Форум » Delphi » Создание mp3 плеера на Delphi » Track Bar (Замена scroll bar на Track Bar)
Track Bar
ZamlaДата: Среда, 07.11.2012, 15:09 | Сообщение # 1
Рядовой
Группа: Пользователи
Сообщений: 4
Репутация: 0
Статус: Offline
Здравствуйте,сделал mp3 плеер по уроку на сайте все работает отлично но вот возник вопрос,
как заменить перемотку песни scroll bar на Track Bar (AdvTrackBar) из TMS Component Pack .


Сообщение отредактировал Zamla - Среда, 07.11.2012, 15:20
 
xaramamburuДата: Четверг, 08.11.2012, 22:16 | Сообщение # 2
Полковник
Группа: Администраторы
Сообщений: 240
Репутация: 26
Статус: Offline
Zamla,
Замените везде scrollbar1 на имя вашего AdvTrackBar, думаю должно работать.)))))))))))))
 
ZamlaДата: Суббота, 10.11.2012, 21:49 | Сообщение # 3
Рядовой
Группа: Пользователи
Сообщений: 4
Репутация: 0
Статус: Offline
Если бы все было так просто:) Заменил scrollbar1 на AdvTrackBar и теперь если прокрутить ползунок (к примеру больше чем на 1,45 сек) он пропадает и появляется на начальной позиции,песня же продолжает играть.

Попробывал вот так,все тоже самое

procedure TForm_Player.Player;
AdvTrackBar1.Min:=0;
AdvTrackBar1.Max:=bass_ChannelGEtLength(Channel, 0) -1;
...
end;

var
p: real;
begin
if mode<>play then Exit;
p:=AdvTrackBar1.Max/advTrackBar1.Width;
AdvTrackBar1.Position:=round(x*p);
bass_ChannelSetPosition(Channel, AdvTrackBar1.Position, 0);
end;


Событие на Mouse move
var
p: real;
begin
if mode<>play then Exit;
if ssleft in shift then //если нажата левая кнопка мыши
begin
p:=AdvTrackBar1.Max/AdvTrackBar1.Width;
AdvTrackBar1.Position:=round(x*p);
bass_ChannelSetPosition(Channel, AdvTrackBar1.Position, 0);
end;
end;


Событие на On Timer
AdvTrackBar1.Position:=bass_channelGetPosition(channel,0);


Сообщение отредактировал Zamla - Суббота, 10.11.2012, 21:51
 
xaramamburuДата: Воскресенье, 11.11.2012, 17:50 | Сообщение # 4
Полковник
Группа: Администраторы
Сообщений: 240
Репутация: 26
Статус: Offline
Zamla,
Попробуй так:
procedure TForm_Player.Player;
AdvTrackBar1.Min:=0;
AdvTrackBar1.Max:=bass_ChannelGEtLength(Channel, 0) -1;
...
end;

В процедуре procedure TForm_player.Timer1Timer(Sender: TObject);
в место:
//устанавливаем позицию scrollbar в зависимоти от позиции трека
scrollbar1.Position:=bass_channelGetPosition(channel,0);
пишем:
AdvTrackBar1.Position:=bass_channelGetPosition(channel,0);
Событие на Mouse move AdvTrackBar1:
begin
if mode<>play then Exit;
if ssleft in shift then //если нажата левая кнопка мыши
bass_ChannelSetPosition(Channel, AdvTrackBar1.position, 0);
end;

Специально попробовал у себя, все ОК.))))))))))
 
ZamlaДата: Воскресенье, 11.11.2012, 20:40 | Сообщение # 5
Рядовой
Группа: Пользователи
Сообщений: 4
Репутация: 0
Статус: Offline
xaramamburu
Со стандартным trackbar-ом прокатывает с этим нет =\ Ползунок возвращается..
 
xaramamburuДата: Воскресенье, 11.11.2012, 20:56 | Сообщение # 6
Полковник
Группа: Администраторы
Сообщений: 240
Репутация: 26
Статус: Offline
Zamla,
Дак я пробовал не со стандартным, а AdvTrackBar. Все работало.))))))))))))
 
Форум » Delphi » Создание mp3 плеера на Delphi » Track Bar (Замена scroll bar на Track Bar)
Страница 1 из 11
Поиск:


Copyright MyCorp © 2017Конструктор сайтов - uCoz