我正在创建一个显示视频的程序,因为我使用的是 Delphi 和 directshow。我需要选择视频输入格式(NTSC、PAL、SECAM)。有一个对话框可让您进行此选择,但我不知道如何使用 delphi 或 c+ 和 directshow 显示它。显示让您选择模拟视频标准的对话框的过程是什么?
谢谢!
我正在创建一个显示视频的程序,因为我使用的是 Delphi 和 directshow。我需要选择视频输入格式(NTSC、PAL、SECAM)。有一个对话框可让您进行此选择,但我不知道如何使用 delphi 或 c+ 和 directshow 显示它。显示让您选择模拟视频标准的对话框的过程是什么?
谢谢!
function DisplayPropertyFrame(Filter: IBaseFilter; Handle: THandle): HResult;
var
PropertyPages: ISpecifyPropertyPages;
Pages: CAUUID;
FilterInfo: TFilterInfo;
pfilterUnk: IUnknown;
begin
Result := E_FAIL;
if Filter = NIL then EXIT;
Result := Filter.QueryInterface(ISpecifyPropertyPages, PropertyPages);
if (SUCCEEDED(Result)) then
begin
Filter.QueryFilterInfo(FilterInfo);
Filter.QueryInterface(IUnknown, pfilterUnk);
PropertyPages.GetPages(Pages);
PropertyPages := NIL;
OleCreatePropertyFrame(
Handle,
0,
0,
FilterInfo.achName,
1,
@pfilterUnk,
Pages.cElems,
Pages.pElems,
0,
0,
NIL
);
pfilterUnk := NIL;
FilterInfo.pGraph := NIL;
CoTaskMemFree(Pages.pElems);
end;
end;
function DisplayVideoCaptureDeviceProperty( Handle: THandle): HResult;
begin
Result := DisplayPropertyFrame(VideoCaptureFilter, Handle);
end;