![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Берем видео сигнал
pasha676 © (2003-05-06 10:22:00)
Где бы почитать (посмотреть примеры) на тему воспроизведения и капчунга видео через "чистый" DirectShow (без компонент). Созрел для отхода от компонентов. Хотелось бы изучить предмет самомому.
Владимир Васильев (2003-05-06 12:18:00) [1]> вывод видео в нужную область :
GraphBuilder : IGraphBuilder ;
MediaControl : IMediaControl ;
BasicAudio : IBasicAudio ;
BasicVideo : IBasicVideo ;
MediaSeeking : IMediaSeeking ;
VideoWindow : IVideoWindow ;
MediaEventEx : IMediaEventEx ;
GraphState : TGraphState;
L,T,W,H : Integer;
DstHandle : HWnd;
.........
if FAILED(GraphBuilder.QueryInterface(IID_IVideoWindow, VideoWindow)) then Exit;
if FAILED(GraphBuilder.QueryInterface(IID_IBasicVideo, BasicVideo)) then Exit;
BasicVideo.get_VideoWidth(W);
BasicVideo.get_VideoHeight(H);
VideoWindow.put_Owner(DstHandle);
VideoWindow.put_WindowStyle(WS_CHILD or WS_CLIPSIBLINGS);
VideoWindow.SetWindowPosition(L,T,W,H);
//specifies a window to receive mouse and keyboard messages from the video window.
( DstHandle)> вывод видео в нужную область :
GraphBuilder : IGraphBuilder ;
MediaControl : IMediaControl ;
BasicAudio : IBasicAudio ;
BasicVideo : IBasicVideo ;
MediaSeeking : IMediaSeeking ;
VideoWindow : IVideoWindow ;
MediaEventEx : IMediaEventEx ;
GraphState : TGraphState;
L,T,W,H : Integer;
DstHandle : HWnd;
.........
if FAILED(GraphBuilder.QueryInterface(IID_IVideoWindow, VideoWindow)) then Exit;
if FAILED(GraphBuilder.QueryInterface(IID_IBasicVideo, BasicVideo)) then Exit;
BasicVideo.get_VideoWidth(W);
BasicVideo.get_VideoHeight(H);
VideoWindow.put_Owner(DstHandle);
VideoWindow.put_WindowStyle(WS_CHILD or WS_CLIPSIBLINGS);
VideoWindow.SetWindowPosition(L,T,W,H);
//specifies a window to receive mouse and keyboard messages from the video window.
VideoWindow.put_MessageDrain(DstHandle);
pasha676 (2003-05-06 11:44:00) [2]
Как всегда меня выручаешь. Большое спасибо!!!
ЗЫ Что граф надо построить я понимаю. Не понимаю как и как организовать вывод видео в нужную область экрана (окно, панель, канвас и т.д.). Пошел читать.
Владимир Васильев (2003-05-06 10:43:00) [3]
С DirectShow всё как обычно, - будь то воспроизведение видео, аудио, videocapture и т.д. - нужно построить нужный граф.
Как построить граф руками см. : http://www.flipcode.com/tutorials/tut_dshow03.shtml