FOURCCMap 类
[与此页面关联的功能 DirectShow 是一项旧功能。 它已被 MediaPlayer、 IMFMediaEngine 和 媒体基金会中的音频/视频捕获取代。 这些功能已针对Windows 10和Windows 11进行了优化。 Microsoft 强烈建议新代码尽可能使用 MediaPlayer、 IMFMediaEngine 和 Media Foundation 中的音频/视频捕获 ,而不是 DirectShow。 如果可能,Microsoft 建议重写使用旧 API 的现有代码以使用新 API。]
FOURCCMap 类提供 GUID 媒体子类型和旧样式 FOURCC 32 位媒体标记之间的转换。 在原始 Windows 多媒体 API 中,媒体类型使用从四个 8 位字符创建的 32 位值进行标记,称为 FOURCC。 DirectShow 媒体类型具有子类型的 GUID,部分原因是创建 (创建新 FOURCC 需要将其注册到 Microsoft) 。 由于 FOURCC是唯一的,因此通过分配表示 FOURCC的 4,000 万 GUID的范围,可以实现一对一映射。 此范围是以下格式的所有 GUID:
XXXXXXXX-0000-0010-8000-00AA00389B71
此类简化了 GUID和 FOURCC之间的转换。 这仅用于兼容性。 建议所有新媒体子类型都由 Guidgen.exe 或类似工具创建的 GUID表示,而不是通过映射 FOURCC表示。
对象派生自 GUID,没有额外的数据成员,并且可以强制转换为 GUID。 可以在构造时向对象传递 FOURCC 。 默认构造函数会将 FOURCC 初始化为零。
GetFOURCC 和 SetFOURCC 方法不检查 GUID 的固定部分对应于 FOURCC 范围。 因此,如果将指向 GUID 的指针强制转换为指向 FOURCC 的指针,然后设置或获取 FOURCC 字段,则还需要单独检查 GUID 在 FOURCC 范围内。
成员函数
Label | 值 |
---|---|
FOURCCMap | 构造函数方法。 |
GetFOURCC | 从 FOURCCMap 对象检索 FOURCC 。 |
SetFOURCC | 设置 FOURCCMap 对象的 FOURCC 部分。 |