CBaseControlVideo 类

[与此页面关联的功能 DirectShow 是旧版功能。 它已被 MediaPlayerIMFMediaEngineMedia Foundation 中的音频/视频捕获所取代。 这些功能已针对Windows 10和Windows 11进行了优化。 Microsoft 强烈建议新代码尽可能在 Media Foundation 中使用 MediaPlayerIMFMediaEngine音频/视频捕获 ,而不是 DirectShow。 如果可能,Microsoft 建议重写使用旧 API 的现有代码以使用新 API。]

cbasecontrolvideo 类层次结构

CBaseControlVideo 类实现 IBasicVideo 接口,并控制通用视频窗口的视频属性。 通常, CBaseControlVideo 对象是一种视频呈现器,用于将视频绘制到显示器上的窗口中。

许多 CBaseControlVideo 成员函数只需要将视频呈现器连接到筛选器图。 如果未连接,成员函数将返回 VFW_E_NOT_CONNECTED。 在视频呈现器上设置的属性在连续连接和断开连接之间保留。 所有应用程序都应确保在开始演示之前重置呈现器属性。

使用视频时,应用程序可以选择视频的一部分来使用。 此部分是 CBaseControlVideo 对象控制的源矩形。 CBaseControlVideo 使应用程序能够设置和检索源矩形。 CBaseControlVideo 使用的所有矩形都采用宽度和高度值,而不是右值和底部值。 如果未设置源矩形,则源矩形的属性将返回完整的本机视频大小。

受保护的数据成员 说明
m_pFilter 指向拥有媒体筛选器的指针。
m_pInterfaceLock 外部定义的关键部分。
m_pPin 控制连接的媒体类型。
成员函数 说明
CBaseControlVideo 构造 CBaseControlVideo 对象。
CopyImage 创建视频图像的内存副本。
GetImageSize 检索视频图像大小信息。
SetControlVideoPin 设置此对象应与之同步的引脚。
可重写成员函数 说明
CheckSourceRect 确定源矩形是否有效。
CheckTargetRect 确定目标矩形是否有效。
GetSourceRect 检索当前源视频矩形 (纯虚拟) 。
GetStaticImage 返回内存缓冲区中的当前图像 (纯虚拟) 。
GetTargetRect 检索当前目标视频矩形 (纯虚拟) 。
GetVideoFormat 检索包含视频格式的 VIDEOINFOHEADER 结构。
IsDefaultSourceRect 确定呈现器是否使用纯虚拟) (默认源矩形。
IsDefaultTargetRect 确定呈现器是否使用默认目标矩形 (纯虚拟) 。
OnUpdateRectangles 在源或目标矩形更改时调用。
OnVideoSizeChange 将EC_VIDEO_SIZE_CHANGED传递到应用程序。
SetDefaultSourceRect 设置纯虚拟) (默认源视频矩形。
SetDefaultTargetRect (纯虚拟) 设置默认目标视频矩形。
SetSourceRect 将当前源视频矩形 (纯虚拟) 。
SetTargetRect 将当前目标矩形 (纯虚拟) 。
IBasicVideo 方法 说明
get_AvgTimePerFrame 检索每个帧的大致平均时间。
get_BitErrorRate 检索近似位错误率。
get_BitRate 检索视频的近似比特率。
GetCurrentImage 检索当前图像的内存呈现。
get_DestinationHeight 检索当前目标矩形的高度。
get_DestinationLeft 检索当前目标矩形的左坐标。
GetDestinationPosition 检索当前目标位置。
get_DestinationTop 检索当前目标矩形的顶部坐标。
get_DestinationWidth 检索当前目标矩形的宽度。
get_SourceHeight 检索当前源矩形的高度。
get_SourceLeft 检索当前源矩形的左坐标。
GetSourcePosition 检索当前源位置。
get_SourceTop 检索当前源矩形的顶部坐标。
get_SourceWidth 检索当前源矩形的宽度。
get_VideoHeight 检索本机视频高度。
GetVideoPaletteEntries 检索视频的调色板条目范围。
GetVideoSize 检索本机视频的宽度和高度。
get_VideoWidth 检索本机视频宽度。
IsUsingDefaultDestination 确定呈现器是否正在使用默认目标窗口。
IsUsingDefaultSource 确定呈现器是否正在使用默认源窗口。
put_DestinationHeight 设置目标矩形的高度。
put_DestinationLeft 设置目标矩形的左坐标。
put_DestinationTop 设置目标矩形的顶坐标。
put_DestinationWidth 设置目标矩形的宽度。
put_SourceHeight 设置源矩形的高度。
put_SourceLeft 设置源矩形的左坐标。
put_SourceTop 设置源矩形的顶坐标。
put_SourceWidth 设置源矩形的宽度。
SetDefaultDestinationPosition 再次设置默认目标位置。
SetDefaultSourcePosition 再次设置默认源位置。
SetDestinationPosition 设置目标矩形位置。
SetSourcePosition 设置源矩形位置。

 

另请参阅

DirectShow 基类