原英文网址:点击打开链接
有些函数做了翻译,因为太多,有些函数就没做翻译了。
1、IAMExtDevice 接口:这个接口继承 IUnKnown 接口,控制设备的基本函数,其中的一些方法如下:
2、IAMStreamConfig 接口,在确定的采集和压缩过滤器上设置一些输出格式,同时设置音频/视频。用户能使用这个接口设置一些属性,比如:视频的输出路数和帧率,音频的采样率和通道数。同样是继承 IUnKnown 接口,其中一些方法如下:
注意,过滤器需要在他们的输出 IPin 上获得 IAMStreamConfig 接口,所以在使用该接口之前要枚举过滤器的 PIn,或者你也可以使用 Capture Graph Builder 对象来建立filter graph,你可以调用ICaptureGraphBuilder2::FindInterface 方法.注意在采集的时候可能要区分采集Pin和预览Pin。
IAMStreamConfig::GetNumberOfCapabilities () 方法的函数原型如下:
HRESULT GetNumberOfCapabilities(
int* piCount,
int* piSize
);
第一个参数用来保存所有可支持的音频/视频设备的数量,第二个参数用来保存配置
AUDIO_STREAM_CONFIG_CAPS
或者
VIDEO_STREAM_CONFIG_CAPS,结构体的大小。
IAMStreamConfig::GetStreamCaps () 方法的函数原型如下:
HRESULT GetStreamCaps(
int iIndex,
AM_MEDIA_TYPE** pmt,
BYTE* pSCC
);
这个方法获取音频、视频或者其他数据流的所依靠的结构体类型,在 pSCC中被指出,第一个参数是与GetNumberOfCapabilities方法对应piCount 中的设备标号,第二个参数是指向媒体类型结构体的指针,第三个参数指向媒体流的配置结构体。
关于媒体流的配置结构体,原网页:点击打开链接
Members
-
guid
-
GUID that identifies the format type. For example, FORMAT_VideoInfo or FORMAT_VideoInfo2. For more information, see the formattype member of the AM_MEDIA_TYPE structure.
VideoStandard
-
The analog video standard supported. The value is a bitwise combination of flags from theAnalogVideoStandard enumeration type, or zero.
InputSize
-
Native size of the incoming video signal. For a compressor, the size is taken from the input pin. For a capture filter, the size is the largest signal the filter can digitize with every pixel remaining unique.
Note Deprecated.
MinCroppingSize
-
Smallest source rectangle allowed. The source rectangle is defined in the rcSource member of theVIDEOINFOHEADER or VIDEOINFOHEADER2 structure.
Note Deprecated.
MaxCroppingSize
-
Largest source rectangle allowed.
Note Deprecated.
CropGranularityX
-
Horizontal granularity of the source rectangle. This value specifies the increments that are valid betweenMinCroppingSize and MaxCroppingSize.
Note Deprecated.
CropGranularityY
-
Vertical granularity of the source rectangle. This value specifies the increments that are valid betweenMinCroppingSize and MaxCroppingSize.
Note Deprecated.
CropAlignX
-
Required horizontal alignment of the source rectangle.
Note Deprecated.
CropAlignY
-
Required vertical alignment of the source rectangle.
Note Deprecated.
MinOutputSize
-
Minimum output size.
Note Deprecated.
MaxOutputSize
-
Maximum output size.
Note Deprecated.
OutputGranularityX
-
Granularity of the output width. This value specifies the increments that are valid betweenMinOutputSize and MaxOutputSize.
Note Deprecated.
OutputGranularityY
-
Granularity of output height. This value specifies the increments that are valid between MinOutputSizeand MaxOutputSize.
Note Deprecated.
StretchTapsX
-
Indicates how well the filter can stretch the image horizontally.
Note Deprecated.
StretchTapsY
-
Indicates how well the filter can stretch the image vertically.
Note Deprecated.
ShrinkTapsX
-
Indicates how well the filter can shrink the image horizontally.
Note Deprecated.
ShrinkTapsY
-
Indicates how well the filter can shrink the image vertically.
Note Deprecated.The previous four structure members use the following values:
Value Meaning -
0
Does not support stretching/shrinking.
-
1
Uses pixel doubling (stretching) or eliminates pixels (shrinking)
-
2
Uses interpolation (2 taps)
-
3 and higher
Uses interpolation (>2 taps)
MinFrameInterval
-
The minimum frame duration, in 100-nanosecond units. This value applies only to capture filters.
MaxFrameInterval
-
The maximum frame duration, in 100-nanosecond units. This value applies only to capture filters.
MinBitsPerSecond
-
Minimum data rate this pin can produce.
Note Deprecated.
MaxBitsPerSecond
-
Maximum data rate this pin can produce.
3、IAMVideoControl 接口,这个接口让你可以水平或者垂直的反转一幅图片,可以设置一个外部触法按钮来采集图像,软件的方式模拟外部触法,以及列出可用帧率。同样是继承IUnKnown 接口,其中的方法如下:
未完。