Форум: "Media";
Текущий архив: 2004.12.12;
Скачать: [xml.tar.bz2];
ВнизВоспроизведения фильма с произвольного места DSPack. Найти похожие ветки
← →
Artin (2004-09-03 20:07) [0]Здравствуйте.
Я пишу на Дельфи 7 свой видео проигрыватель.
Использую для этого DSPpack. Я всё сделал что хотел кроме одного. Не могу заставить воспроизводиться с какого либо момента.
Тоесть у меня ролик на 60 сек а я хочу чтобы воспроизведение начиналось например с 30. Я искал и нарыл команду SetPosition. Но вот беда работает как то глючно не с первого раза короче не работает. Может вы знаете как это сделать правильно?
← →
Artin (2004-09-03 20:11) [1]См.
http://delphimaster.net/view/8-1091714055/
Модератор убей этот пост и будеш прав.
Извиняюсь.
← →
programania (2004-09-13 16:22) [2]Установка позиции фильма который запущен при помощи DSPack
работает всегда в programania.com/ENJOL.ZIP
PROCEDURE PosAvi(pos:integer);
var
CurrPos,stopPos : Int64;
MediaSeeking: IMediaSeeking;
hms:TDVDHMSFTimeCode;
DvdControl:IDvdControl2;
i:integer;
begin
with form1.FilterGraph1 do begin
if dvd then begin
//Это для DVD из IFO или VOB pos=милиСекунды
i:=pos div 1000;
hms.bHours:=i div 3600;
hms.bMinutes:=(i-hms.bHours*3600)div 60;
hms.bSeconds:= i-hms.bHours*3600-hms.bMinutes*60;
QueryInterface(IDvdControl2, DvdControl);
DvdControl.PlayAtTime(@hms,DVD_CMD_FLAG_None, DvdCmd);
DvdControl := nil;
end
else begin
//Это для Avi pos=позиция trackbar1
QueryInterface(IMediaSeeking, MediaSeeking);
with MediaSeeking do Begin
GetStopPosition(stopPos);
CurrPos:=stopPos*pos div (trackBar1.max);
SetPositions(currPos,AM_SEEKING_AbsolutePositioning,stopPos,AM_SEEKING_NoPositioning);
end;
end;
end
end;
еще проверьте: может вызывается многократно и одновременно
такое в windows может бывыет и выглядит как непредсказуемые глюки,
еще важно откуда вызывать: лучше из timer чтоб один раз
если что непонятно напишите mail@programania.com
Страницы: 1 вся ветка
Форум: "Media";
Текущий архив: 2004.12.12;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.08 c