IMediaDet::WriteBitmapBits 方法

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

注意

[已弃用。 此 API 可能会从 Windows 的未来版本中删除。]

 

方法 WriteBitmapBits 在指定的媒体时间检索视频帧并将其写入文件。 视频帧始终采用 24 位 RGB 格式。

语法

HRESULT WriteBitmapBits(
   double StreamTime,
   long   Width,
   long   Height,
   BSTR   Filename
);

参数

StreamTime

检索视频帧的时间。

Width

图像的宽度(以像素为单位)。

Height

图像的高度(以像素为单位)。

Filename

要在其中保存位图的文件的路径。 如果文件已存在,此方法将覆盖它。

返回值

返回S_OK成功。 否则, 返回指示错误原因的 HRESULT 值。 可能的错误代码包括:

返回代码 说明
E_NOINTERFACE
无法将 Sample Grabber 筛选器添加到图形。
E_FAIL
失败。
E_OUTOFMEMORY
内存不足。
E_UNEXPECTED
意外错误。
STG_E_ACCESSDENIED
无法覆盖文件。
VFW_E_INVALIDMEDIATYPE
媒体类型无效。

 

备注

在调用此方法之前,请通过调用 IMediaDet::p ut_FilenameIMediaDet::p ut_CurrentStream 来设置文件名和流。

此方法将媒体检测器置于位图抓取模式。 调用此方法后,除非创建媒体检测器的新实例,否则 IMediaDet 中的各种流信息方法将不起作用。

注意

头文件 Qedit.h 与版本 7 之后的 Direct3D 标头不兼容。

 

注意

若要获取 Qedit.h,请下载适用于 Windows Vista 和 .NET Framework 3.0 的Microsoft Windows SDK更新。 Qedit.h 在 Windows 7 和 .NET Framework 3.5 Service Pack 1 的Microsoft Windows SDK中不可用。

 

要求

要求
标头
Qedit.h

Strmiids.lib

另请参阅

IMediaDet 接口

错误和成功代码