创建读取器并打开文件

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

需要创建读取器对象并加载要读取的文件,然后才能使用读取器执行任何操作。 若要初始化读取器并打开文件,请执行以下步骤。

  1. 通过调用 WMCreateReader 函数创建读取器对象。 必须为新读取器对象指定所需的权限管理级别。 可用模式在 WMT_RIGHTS 枚举类型中列出。
  2. 通过调用 IWMReader::Open 指定要读取的文件。 必须指定读取器回调接口以供读取器使用。 有关读取器回调的详细信息,请参阅 在 OnStatus 回调中实现读取者消息
  3. 等待读取器打开文件。 调用 Open 加载文件时,它几乎会立即返回,并继续在另一个线程上进行处理。 应等待操作完成,方法是在 OnStatus 回调收到WMT_OPENED状态消息时发出事件信号。

读取器还支持使用 IStream COM 接口打开文件。 可以通过任意方式实现 IStream 接口。 在 IStream 中打开所需文件后,可以执行上面列出的步骤,但必须在步骤 2 中调用 IWMReaderAdvanced2::OpenStream 而不是 IWMReader::Open

IWMReader 接口

IWMReaderAdvanced2 接口

IWMStatusCallback 接口

使用异步读取器读取文件

使用回调方法