Re: как вывести видео на Desktop средствами DirectShow
От: NSP Россия  
Дата: 11.03.06 23:39
Оценка: +1
Здравствуйте, LuuuPV, Вы писали:

Просто:

VideoWindow.Put_MessageDrain(GetDesktopWindow);
VideoWindow.Put_Owner(GetDesktopWindow);


На интересной работе и сны интересные видишь
как вывести видео на Desktop средствами DirectShow
От: LuuuPV  
Дата: 11.03.06 18:21
Оценка:
исправлены опечатки в заголовке. — Кодт
12.03.06 00:18: Перенесено модератором из 'C/C++' — Кодт
Re[2]: как вывести видео на Desktop средствами DirectShow
От: LuuuPV  
Дата: 13.03.06 09:31
Оценка:
Здравствуйте, NSP, Вы писали:

Оверквотинг удален. Hacker_Delphi.
А по потробнее можно
Re[3]: как вывести видео на Desktop средствами DirectShow
От: NSP Россия  
Дата: 13.03.06 13:29
Оценка:
Здравствуйте, LuuuPV, Вы писали:

LPV>А по потробнее можно


ПСамый простой вариант,пожалуйста:

...
VideoWindow: IVideoWindow;
MYGraphBuilder: IGraphBuilder;
MYMediaControl: IMediaControl;
...
begin
...
CoInitialize(nil);
CoCreateInstance(CLSID_FilterGraph,nil,CLSCTX_INPROC_SERVER,IID_IGraphBuilder,MyGraphBuilder);
MyGraphBuilder.RenderFile('MediaFile.avi',nil);
MYGraphBuilder.QueryInterface(IID_IMediaControl,MYMediaControl);
MyGraphBuilder.QueryInterface(IID_IVideoWindow,VideoWindow);

VideoWindow.Put_MessageDrain(GetDesktopWindow); //не обязательно
VideoWindow.Put_Owner(GetDesktopWindow);
VideoWindow.Put_WindowStyle(WS_CHILD OR WS_CLIPSIBLINGS);
VideoWindow.SetWindowPosition(0,0,Screen.Width,Screen.Height);
MyMediaControl.Run;
...
end;
На интересной работе и сны интересные видишь
Re[4]: как вывести видео на Desktop средствами DirectShow
От: LuuuPV  
Дата: 15.03.06 09:42
Оценка:
Здравствуйте, NSP, Вы писали:

NSP>Здравствуйте, LuuuPV, Вы писали:


LPV>>А по потробнее можно


NSP>ПСамый простой вариант,пожалуйста:


NSP>
NSP>...
NSP>VideoWindow: IVideoWindow;
NSP>MYGraphBuilder: IGraphBuilder;
NSP>MYMediaControl: IMediaControl;
NSP>...
NSP>begin
NSP>...
NSP>CoInitialize(nil);
NSP>CoCreateInstance(CLSID_FilterGraph,nil,CLSCTX_INPROC_SERVER,IID_IGraphBuilder,MyGraphBuilder);
NSP>MyGraphBuilder.RenderFile('MediaFile.avi',nil);
NSP>MYGraphBuilder.QueryInterface(IID_IMediaControl,MYMediaControl);
NSP>MyGraphBuilder.QueryInterface(IID_IVideoWindow,VideoWindow);

NSP>VideoWindow.Put_MessageDrain(GetDesktopWindow); //не обязательно
NSP>VideoWindow.Put_Owner(GetDesktopWindow);
NSP>VideoWindow.Put_WindowStyle(WS_CHILD OR WS_CLIPSIBLINGS);
NSP>VideoWindow.SetWindowPosition(0,0,Screen.Width,Screen.Height);
NSP>MyMediaControl.Run;
NSP>...
NSP>end;
NSP>



Но так он выодит поверх рабоиконок, мне надо под ними
Re[5]: как вывести видео на Desktop средствами DirectShow
От: Аноним  
Дата: 16.03.06 08:11
Оценка:
LPV>Но так он выодит поверх рабоиконок, мне надо под ними

пиши свой рендерер (сампл рендерера "sampvid" есть в SDK)
и рисовать нужно в DirectDraw оверлэй сёрфэйс, где в качестве key color указан цвет десктопа.
Re[5]: как вывести видео на Desktop средствами DirectShow
От: NSP Россия  
Дата: 20.03.06 12:27
Оценка:
Здравствуйте, LuuuPV, Вы писали:

LPV>Но так он выодит поверх рабоиконок, мне надо под ними


А работоспособность иконок во время такого поигрывания важна?
На интересной работе и сны интересные видишь
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.