[与此页面关联的功能 DirectShow 是旧版功能。 它已被 MediaPlayer、 IMFMediaEngine 和 Media Foundation 中的音频/视频捕获所取代。 这些功能已针对Windows 10和Windows 11进行了优化。 Microsoft 强烈建议新代码尽可能在 Media Foundation 中使用 MediaPlayer、 IMFMediaEngine 和 音频/视频捕获 ,而不是 DirectShow。 如果可能,Microsoft 建议重写使用旧 API 的现有代码以使用新 API。]
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 | 设置源矩形位置。 |
另请参阅