![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
advtrackbar [D7]
artemka2008 © (2013-10-01 13:33:00)помогите решить проблему, ползунок advtrackbar уходит влево, когда воспроизведение доходит до 1:10
проверял его работу с TMediaPlayer, никаких проблем не было, а с bass.dll выходит так
artemka2008 (2013-10-02 15:01:00) [1]две строчки потому что проверял разные варианты и забыл удалить.
стандартный ttrackbar работает без проблем, и если использовать tmediaplayer, то тоже все отлично, перемотка, показ позиции и тд, но если использовать bass.dll , то ползунок уходит влево на определенном месте и появляется через промежуток времени равный тому, на котором он исчез. если исчез на 1:10, то появится на 2:20 и причем время исчезновения зависит от длины advtrackbar,
чем длинней он, тем раньше перемещается ползунок и наоборот.
я даже нашел условие в advtrackbar.pas при котором он исчезает, но как исправить я не знаю, как как tadvtrackbar зависит еще от 3х компонентов,
а именно от AdvStyleIF, AdvGDIP и GDIPicture(в большей степени от 2х последних)
[ВладОшин] (2013-10-02 09:29:00) [2]
> у него там две таких строки. для надежности.
заметил, но фиг с этим, не должно мешать, вроде :)
хотя, первую все же лучше убрать.
Все равно не успеет перерисоваться, имхо.
1.Не так много времени пройдет, пока что-то там расчитывается(z)
2.да main(гуй)-поток будет занят расчетами(z), не до рисования ему будет
Туповатый (2013-10-02 09:01:00) [3]
> У тебя только в одном месте двигается трак - в TForm1.Timer1Timer
> в строке
> tb1.Position := Bass_ChannelGetPosition(stream, 0);
у него там две таких строки. для надежности.
[ВладОшин] (2013-10-02 08:42:00) [4]
> tb1: TAdvTrackBar;
не может быть! :)
tb1. Position- тип какой?
У тебя только в одном месте двигается трак - в TForm1.Timer1Timer
в строке
tb1.Position := Bass_ChannelGetPosition(stream, 0);
Может, переполнение банальное
поставь рядом стандартный трак, проверь в траке ли дело
типа
K := Bass_ChannelGetPosition(stream, 0);
tb1.Position := K;
Стандартный.Position := K;
поставь следилку на время отладки, что возвращается.
типа memo1.lines.add( Bass_ChannelGetPosition(stream, 0); )
посмотри потом что за цифры около 1:10 приходят за сек до и после
> brother © (01.10.13 19:58) [4]
иногда хочется заморочиться :)
robt5 (2013-10-01 21:52:00) [5]жесть
рукалицо
artemka2008 (2013-10-01 21:47:00) [6]tb1: TAdvTrackBar;
brother (2013-10-01 19:58:00) [7]Влад, вот не лень же тебе ;)
[ВладОшин] (2013-10-01 13:55:00) [8]накачают всякой фигни..
1.
advtrackbar - нет в стандартной поставки
2.
строка tb1.Position := Bass_ChannelGetPosition(stream,0);
tb1.Position - тип?
brother (2013-10-01 13:52:00) [9]> Исходники:
нет, спасибо не надо...
artemka2008 (2013-10-01 13:39:00) [10]Исходники:
http://rusfolder.com/38249830