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

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

DSPack 1.05 и DirectX - наверно у меня руки кривые :-) [D4, Win95/98]


Fredericco ©   (2002-10-30 12:27:00) 

Привет всем! Стоит задача зазвата видео средствами ДиректИкс. Скачал себе DSPack для Д4. Демки по захвату видео там не нашел. Нашел ее в DSPack 2.0 . По образу и подобию делаю в Д4. Получилось так:

procedure TForm1.Button1Click(Sender: TObject);
var
CaptureGraph: ICaptureGraphBuilder2;
SourceFilter, DestFilter: IBaseFilter;
begin
FilterGraph.ClearGraph;
FilterGraph.Disconnect;
Filter.Filter.Moniker := SysDev.Filters[1].Moniker;
FilterGraph.Connect;
FilterGraph.FilterGraph2.QueryInterface(ICaptureGraphBuilder2, CaptureGraph);
Filter.Graph.GraphBuilder.QueryInterface(IBaseFilter, SourceFilter);
VideoWindow.Graph.GraphBuilder.QueryInterface(IBaseFilter, DestFilter);
CaptureGraph.RenderStream(nil, nil, SourceFilter, nil, DestFilter);
FilterGraph.MediaControl.Run;
CaptureGraph := nil;
SourceFilter := nil;
DestFilter := nil;
end;


В строке

CaptureGraph.RenderStream(nil, nil, SourceFilter, nil, DestFilter);

выдает Access Violation. Подскажите пожалуйста, что я не так делаю.

С уважением к мастерам Fredericco.


pasha676   (2002-10-30 12:52:00) [1]

У меня версия 1.05 и делается все подругому. Тут непонятно как ты вообще фильтр строишь. В 1.05 демка есть и называется она Grabber & WDM в том числе есть она и под дельфи 4.


Fredericco   (2002-10-30 12:29:00) [2]

Забыл добавить:


TForm1 = class(TForm)
VideoWindow: TDSVideoWindow;
Button1: TButton;
FilterGraph: TDSFilterGraph2;
Filter: TFilter;
Button2: TButton;
procedure Button1Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

var
Form1: TForm1;
SysDev: TDSSysDevEnum;


Наверх

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