Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Перемотка в DSPack [D6, Win2k, WinXP]


VaKU ©   (2004-08-05 17:54:00) 

Премногоуважаемый ALL.
Обращаюсь к тебе с вопросом. Как в DSPack'е можно програмно (в смысле из программы) "перемотать" проигрываемый файл на нужную позицию (изменить CurrentPos) без участвия пользователя?


VaKU   (2004-08-05 23:56:00) [1]

Great thanx.
Все работает.
Поменял проценты на секунды и радуюсь :-)


Svit   (2004-08-05 22:11:00) [2]

Можно использовать такую процедуру:

uses Windows, ..., DirectShow9;
...
type
TPercent = 0..100;
TForm1 = class(TForm)
procedure SetPos(FilterGraph: TFilterGraph; Percent: TPercent);
...
procedure TForm1.SetPos(FilterGraph: TFilterGraph; Percent: TPercent);
var MediaSeeking: IMediaSeeking;
   StopPosition, Position: int64;
begin
 FilterGraph.QueryInterface(IMediaSeeking, MediaSeeking);
 MediaSeeking.GetStopPosition(StopPosition);
 Position := (StopPosition div 100)*Percent;
 MediaSeeking.SetPositions(Position, AM_SEEKING_AbsolutePositioning,
                                   StopPosition   , AM_SEEKING_NoPositioning);

end;


Наверх

Титульная страница Поиск, карта сайта Написать письмо