Delphi и DirectShow!

программирование Delphi делфи

Пытаюсь воспроизвести видео но постоянно выбивает Acces Violation ниже моя процедура, подскажите пожалуйста, что не так!

procedure TFormTest.BtnPlayClick(Sender: TObject);
var
MyGraphBuilder: IGraphBuilder;
MyMediaControl: IMediaControl;
VideoWindow: IVideoWindow;
begin
CoInitialize(nil);
CoCreateInstance(CLSID_FilterGraph, nil, CLSCTX_INPROC_SERVER, IID_IGraphBuilder, MyGraphBuilder);
MyGraphBuilder.RenderFile(PChar(ExtractFileDir(ParamStr(0)) + '\Test.mp4'), nil);
MyGraphBuilder.QueryInterface(IID_IMediaControl, MyMediaControl);
{ располагаем окошко с видео на панель }

//Вот здесь какая-то ошибка, но всё компилируется, не могу понять.
VideoWindow.put_Owner(PanelVideo.Handle);
VideoWindow.Put_WindowStyle(WS_CHILD OR WS_CLIPSIBLINGS);
VideoWindow.put_MessageDrain(PanelVideo.Handle);
VideoWindow.SetWindowPosition(0, 0, PanelVideo.ClientRect.Right, PanelVideo.ClientRect.Bottom);
end;

Примечание:
Вопрос может тупой, но как её инициализировать?

Примечание:
Нашёл, просто нужно добавить
MyGraphBuilder.QueryInterface(IID_IVideoWindow, VideoWindow);
Ответы:
Где инициализируется переменная VideoWindow ?


12 лет назад

RPI.su - самая большая русскоязычная база вопросов и ответов. Наш проект был реализован как продолжение популярного сервиса otvety.google.ru, который был закрыт и удален 30 апреля 2015 года. Мы решили воскресить полезный сервис Ответы Гугл, чтобы любой человек смог публично узнать ответ на свой вопрос у интернет сообщества.

Все вопросы, добавленные на сайт ответов Google, мы скопировали и сохранили здесь. Имена старых пользователей также отображены в том виде, в котором они существовали ранее. Только нужно заново пройти регистрацию, чтобы иметь возможность задавать вопросы, или отвечать другим.

Чтобы связаться с нами по любому вопросу О САЙТЕ (реклама, сотрудничество, отзыв о сервисе), пишите на почту [email protected]. Только все общие вопросы размещайте на сайте, на них ответ по почте не предоставляется.