Форум: "Media";
Текущий архив: 2004.10.31;
Скачать: [xml.tar.bz2];
ВнизПолучение битмапа с TVideoWindow библиоте DSPack Найти похожие ветки
← →
Wistler © (2004-08-03 14:34) [0]Нужно каждую секунду снимать изображение и сохранять на диск.
МетодImage1.Canvas.CopyRect(Rect(0,0,319,239),VideoWindow.Canvas,Rect(0,0,319,239))
работает, только если ничто не загораживает VideoWindow.
Попытка использовать PaintTo выдает черный квадрат.
Есть ещё предложения?
← →
Profi © (2004-08-03 14:54) [1]Я делал так!
procedure izvv(nom:integer);
var
Stream: TMemoryStream;
MediaSeeking: IMediaSeeking;
StopPosition, CurrentPosition: int64;
CurrentPos, StopPos: int64;
MlsCurrentPos, MlsStopPos: Cardinal;
begin
with form1 do begin
fg.ClearGraph;
fg.RenderFile(dir+"\video\"+flb.Items[nom]);
fg.Play;
FG.QueryInterface(IMediaSeeking, MediaSeeking);
if assigned(MediaSeeking) then
if Succeeded(MediaSeeking.GetDuration(StopPos)) then
if Succeeded(MediaSeeking.GetCurrentPosition(CurrentPos)) then
begin
MlsCurrentPos := RefTimeToMiliSec(CurrentPos);
MlsStopPos := RefTimeToMiliSec(StopPos);
tb.Min := 0;
tb.Max := MlsStopPos div 1000;
tb.Position := MlsCurrentPos div 1000;
end;
mediaseeking.GetStopPosition(stopposition);
currentPosition:=round((stopposition*499.9)) div tb.Max;
MediaSeeking.SetPositions(CurrentPosition, AM_SEEKING_AbsolutePositioning, StopPosition, AM_SEEKING_NoPositioning);
fg.Pause;
sleep(1000);
vr.Text:=timetostr(mlsStopPos/MiliSecPerDay);
Stream:= TMemoryStream.Create;
vw.VMRGetBitmap(stream);
im.Picture.Bitmap.LoadFromStream(stream);
stream.Free;
end;
end;
← →
WondeRu © (2004-08-03 17:40) [2]глянь здесь http://delphimaster.net/view/8-1091099262/
Страницы: 1 вся ветка
Форум: "Media";
Текущий архив: 2004.10.31;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.034 c