标识输出编号

[与此页面关联的功能 Windows Media Format 11 SDK 是一项旧功能。 它已被源读取器和接收器编写器取代。 源读取器和接收器编写器已针对Windows 10和Windows 11进行了优化。 如果可能,Microsoft 强烈建议新代码使用源读取器和接收器编写器,而不是 Windows Media 格式 11 SDK。 如果可能,Microsoft 建议重写使用旧 API 的现有代码以使用新 API。]

若要标识已加载文件的输出编号,请执行以下步骤。 对于异步读取器和同步读取器,这些过程是相同的。 如果接口名称不同,同步读取器方法列在异步读取器方法后的括号中。

  1. 创建读取器对象并加载要读取的文件。 有关详细信息,请参阅 创建读取器和打开文件 (或 创建同步读取器和打开文件) 。
  2. 通过调用 IWMReader::GetOutputCount (或 IWMSyncReader::GetOutputCount) 检索文件的输出总数。
  3. 一次循环访问一个输出,为每个输出执行以下步骤:
    • 通过调用 IWMReader::GetOutputProps (或 IWMSyncReader::GetOutputProps) 检索当前输出的 IWMOutputMediaProps 接口。
    • 通过两次调用 IWMMediaProps::GetMediaType 来检索输出的WM_MEDIA_TYPE结构。 进行第一次调用以获取结构的大小,然后为其分配内存,并在第二次调用时传递指向已分配内存的指针。 或者,可以调用 IWMMediaProps::GetType,它提供主类型,而无需为 WM_MEDIA_TYPE 结构分配内存。 可以跳过错误主类型的输出。
    • WM_MEDIA_TYPE 结构中检索主要媒体类型和媒体子类型。 这些值分别存储在数据成员 majortypesubtype 中。
    • 检查 WM_MEDIA_TYPE.formattype 的值。 这指定 位于 WM_MEDIA_TYPE.pbFormat 处的缓冲区中包含的结构类型。 有关格式类型的详细信息,请参阅 媒体类型
    • 分配内存以保存上一步中标识的类型的结构。 将 结构复制到分配的内存中。 对于音频和视频,此结构提供有关如何呈现数据的基本信息。

同步读取器还提供检索输出数字与流数字之间的关联的方法。 有关详细信息,请参阅 查找流编号和输出编号

输入、流和输出

IWMMediaProps 接口

IWMOutputMediaProps 接口

IWMReader 接口

IWMSyncReader 接口

使用输出