Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Мультимедиа в Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 24.11.2011, 11:57   #1
s1s1s1
Пользователь
 
Регистрация: 28.09.2009
Сообщений: 63
По умолчанию перемотка bass 2.4

в scrolbar'e работает так событие onscroll,
Код:
 bass_ChannelSetPosition(chanel, scrollbar1.position, 0);
как использовать trackbar для перемотки событие onchange в bass 2.4
s1s1s1 вне форума Ответить с цитированием
Старый 24.11.2011, 19:15   #2
Delphi_ProGer
Форумчанин
 
Регистрация: 30.10.2010
Сообщений: 524
По умолчанию

Цитата:
Сообщение от s1s1s1 Посмотреть сообщение
в scrolbar'e работает так событие onscroll,
Код:
 bass_ChannelSetPosition(chanel, scrollbar1.position, 0);
как использовать trackbar для перемотки событие onchange в bass 2.4
свойство Position, т.е. так же само))
Delphi_ProGer вне форума Ответить с цитированием
Старый 25.11.2011, 01:42   #3
s1s1s1
Пользователь
 
Регистрация: 28.09.2009
Сообщений: 63
По умолчанию

Код:
TrackBar1.Max:=BASS_ChannelGetLength(chanel,0);
trackbar.change
BASS_ChannelSetPosition(chanel, TrackBar1.Position, 0);
вот эта строчка в таймере от нее заикаится музыка
Код:
trackbar1.position:=BASS_ChannelGetPosition(chanel,0);
как это исправить?
s1s1s1 вне форума Ответить с цитированием
Старый 25.11.2011, 02:09   #4
Delphi_ProGer
Форумчанин
 
Регистрация: 30.10.2010
Сообщений: 524
По умолчанию

Код:
procedure TForm1.sTrackBar1UserChange(Sender: TObject);
begin
  Bas.SetPosition(sTrackBar1.Position);
end;
я так у себя сделал
в таймере как у вас)
Delphi_ProGer вне форума Ответить с цитированием
Старый 25.11.2011, 02:36   #5
s1s1s1
Пользователь
 
Регистрация: 28.09.2009
Сообщений: 63
По умолчанию

перед началом воспроизведения
Код:
TrackBar1.Max:=BASS_ChannelGetLength(chanel,0);
Код:
procedure Tform.TrackBar1Change(Sender: TObject);
BASS_ChannelSetPosition(chanel, TrackBar1.Position, 0);


подскажите почему из-за зтой строчки в таймере заикаится музыка
procedure Tform.Timer1Timer(Sender: TObject);
trackbar1.position:=BASS_ChannelGetPosition(chanel,0);

Последний раз редактировалось s1s1s1; 25.11.2011 в 13:15.
s1s1s1 вне форума Ответить с цитированием
Старый 25.11.2011, 17:20   #6
Delphi_ProGer
Форумчанин
 
Регистрация: 30.10.2010
Сообщений: 524
По умолчанию

потому, что когда в таймере вы изменяете значение position и тогда выполняется процедура TrackBar1Change (т.е. некое зацыкливание; позиция изменяеться 2 раза - сам Bass меняет автоматом(т.к. песня производиться) и Вы(этим кодом))
Цитата:
procedure Tform.TrackBar1Change(Sender: TObject);
BASS_ChannelSetPosition(chanel, TrackBar1.Position, 0);
А если изменить позицию трекбара, то процедура TrackBar1UserChange не будеть выполняться, т.к. это событие только для изменения позиций юзером)

Последний раз редактировалось Delphi_ProGer; 25.11.2011 в 17:24.
Delphi_ProGer вне форума Ответить с цитированием
Старый 25.11.2011, 21:33   #7
s1s1s1
Пользователь
 
Регистрация: 28.09.2009
Сообщений: 63
По умолчанию

тогда как сделать ,чтобы позиция trackbara"a менялась сама в таймере?
s1s1s1 вне форума Ответить с цитированием
Старый 26.11.2011, 01:08   #8
Delphi_ProGer
Форумчанин
 
Регистрация: 30.10.2010
Сообщений: 524
По умолчанию

Цитата:
Сообщение от s1s1s1 Посмотреть сообщение
тогда как сделать ,чтобы позиция trackbara"a менялась сама в таймере?
я же написал!
Delphi_ProGer вне форума Ответить с цитированием
Старый 26.11.2011, 13:57   #9
s1s1s1
Пользователь
 
Регистрация: 28.09.2009
Сообщений: 63
По умолчанию

спасибо. подскажите еще как связать два трекбара
в
Код:
TrackBar1Change
можно было так
Код:
TrackBar1.Position:=TrackBar2.Position;
, а в
Код:
TrackBar2UserChange
не хочет
s1s1s1 вне форума Ответить с цитированием
Старый 27.11.2011, 00:08   #10
Delphi_ProGer
Форумчанин
 
Регистрация: 30.10.2010
Сообщений: 524
По умолчанию

Цитата:
а в
Код:


TrackBar2UserChange

не хочет
не хочет, потому что вы програмно изменяете, а не User мышкой)
Delphi_ProGer вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
TrackBar Перемотка coNsept Общие вопросы C/C++ 2 14.07.2011 05:59
Перемотка с использованием bass.dll WinMen Мультимедиа в Delphi 8 16.05.2011 01:23
FilterGraph. перемотка AmbaQ Мультимедиа в Delphi 4 27.11.2010 01:35
MediaPlayer перемотка с TrackBar Kaifun Мультимедиа в Delphi 2 09.12.2008 19:24
Перемотка в TMediaPlayer Kn793 Компоненты Delphi 0 10.07.2008 11:02