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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 07.02.2009, 12:35   #1
Mazaxaka
Пользователь
 
Аватар для Mazaxaka
 
Регистрация: 26.12.2008
Сообщений: 24
По умолчанию премотка с помощью ProgressBar

вот не получается сделать перемотку. вот делаю так
код:
procedure TForm1.Timer2Timer(Sender: TObject);
begin
if mediaplayer1.FileName<>'' then
begin
ProgressBar1.Position:=MediaPlayer1 .Position;
ProgressBar1.Max:=MediaPlayer1.Leng th;
end;
end;

procedure TForm1.ProgressBar1MouseDown(Sender : TObject;
Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
begin
If ProgressBar1.Position<>mediaplayer1 .Position then
begin
MediaPlayer1.Position:=ProgressBar1 .Position;
MediaPlayer1.Play;
end;
end;
ПОСМОТРИТЕ МОЖЕТ ГДЕ ОШИБКА (ИЛИ ВСЕ НЕПРАВИЛЬНО). С Trackbar и scrollbar умею делать но они портят звук "зайканием".
Mazaxaka вне форума Ответить с цитированием
Старый 07.02.2009, 12:45   #2
Terran
Участник клуба
 
Аватар для Terran
 
Регистрация: 28.11.2007
Сообщений: 1,521
По умолчанию

Поищите по форуму, я точно помню что приводился пример с исходником, как с помощью мыши можно управлять заполнением ProgressBar'а. А исходя из того исходника можно легко сделать перемотку.
Всегда рад помочь!
Terran вне форума Ответить с цитированием
Старый 07.02.2009, 14:16   #3
Mazaxaka
Пользователь
 
Аватар для Mazaxaka
 
Регистрация: 26.12.2008
Сообщений: 24
По умолчанию

то что нашел не помогло или выдавало большую ошибку.
Mazaxaka вне форума Ответить с цитированием
Старый 07.02.2009, 16:05   #4
KORN
Банхаммер
Участник клуба
 
Аватар для KORN
 
Регистрация: 17.02.2007
Сообщений: 1,754
По умолчанию

с помощью прогрессбара нельзя перематыва, используй Slider или другие сторонние компоненты, Slider это дополнение к библиотеке Tbass
Перед тем как спросить ищи на форуме и в GOOGLE
KORN вне форума Ответить с цитированием
Старый 07.02.2009, 17:09   #5
Котовский
Пользователь
 
Аватар для Котовский
 
Регистрация: 24.12.2008
Сообщений: 19
По умолчанию

А ежели в самом начале ProgressBarMouseDown, таймер отключать, а в маус ап включать уже после MediaPlayer.Position:=ProgressBar.P osition?
Пока жирафы думают, кролики делают!
Котовский вне форума Ответить с цитированием
Старый 07.02.2009, 17:38   #6
Viteef
stopfake.org
Участник клуба
 
Регистрация: 03.05.2007
Сообщений: 1,927
По умолчанию

Здесь перемотка реализована прогрессбаром
Viteef вне форума Ответить с цитированием
Старый 08.02.2009, 02:50   #7
Stanislav
Квадрокоптерист
Участник клуба Подтвердите свой е-майл
 
Регистрация: 29.09.2007
Сообщений: 1,824
По умолчанию

Код:
procedure TForm3.JvXPProgressBar1MouseDown(Sender: TObject;
  Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
begin
if mpcanplay in form2.mediaplayer1.Capabilities then
  begin
  form2.mediaplayer1.Position:=trunc(x * ratio);
form2.mediaplayer1.Play;
  end;
end;
кривовато помойму но работает...
Я часть той силы, что вечно хочет зла, но вечно совершает благо..
Stanislav вне форума Ответить с цитированием
Старый 08.02.2009, 12:50   #8
Mazaxaka
Пользователь
 
Аватар для Mazaxaka
 
Регистрация: 26.12.2008
Сообщений: 24
По умолчанию

Stanislav. Делал и такое, он не мотает, а при нежатии просто начинает воспроизведение заново.
Mazaxaka вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
ProgressBar Simon..14 Общие вопросы C/C++ 10 24.01.2009 14:56
ProgressBar Andrei Isaev Общие вопросы Delphi 1 20.11.2008 14:59
ProgressBar Terran Общие вопросы Delphi 5 09.01.2008 21:18
ProgressBar pentiumForever Компоненты Delphi 2 07.09.2007 13:33