Reader 对象
[与此页面关联的功能(Windows Media Format 11 SDK)是一项旧功能。 它已被 源读取器 和 接收器编写器取代。 源读取器 和 接收器编写器 已针对 Windows 10 和 Windows 11 进行了优化。 Microsoft强烈建议新代码尽可能使用 源读取器 和 接收器编写器,而不是 Windows 媒体格式 11 SDK。 Microsoft建议重写使用旧 API 的现有代码,以尽可能使用新 API。]
读取器对象从媒体文件读取数据示例。 读取器对象当前支持使用高级系统格式(ASF)文件结构和 MP3 文件的文件。 读取器对象提供的数据已取消压缩,并且已准备好默认呈现,但如果需要,可以交付样本,而无需解压缩。 示例从读取器对象异步传送;必须设置回调函数才能接收它们。 若要同步播放 ASF 文件,请使用同步读取器对象。 读取器和同步读取器都不呈现任何数据。 必须提供自己的呈现例程才能显示从文件检索到的媒体。
当文件包含可使用读取器对象支持的编解码器解码的编码媒体时,可以控制未压缩输出的格式。 若要更改流的解压缩输出的格式,必须检索该流的默认输出媒体属性对象,对其进行更改,并将其重新分配给读取器中的流。 输出媒体属性对象属于读取器对象,仅应使用 IWMReader::GetOutputProps 方法创建。
读取器对象由 WMCreateReader函数创建,该函数设置指向 IWMReader 接口的指针。 可以通过调用 QueryInterface 方法获取读取器对象的其他接口。
读取器对象支持以下接口。
接口 | 描述 |
---|---|
IReferenceClock | 提供对读取器使用的系统时钟的访问权限。 |
IWMDRMReader | 管理许可证获取、DRM 属性和客户端个性化。 |
IWMDRMReader2 | 提供对使用输出保护级别(OPL)指定权限的许可证的访问权限。 |
IWMHeaderInfo | 设置和检索标头信息,包括元数据、标记和脚本数据。 |
IWMHeaderInfo2 | 检索有关用于对文件中内容进行编码的编解码器的信息。 继承 IWMHeaderInfo的所有方法。 |
IWMHeaderInfo3 | 支持大型属性大小、重复属性名称和多种语言支持。 继承 IWMHeaderInfo 和 IWMHeaderInfo2的所有方法。 |
IWMPacketSize | 检索读取器中加载的文件中最大数据包的大小。 |
IWMPacketSize2 | 检索读取器中加载的文件中最小数据包的大小。 |
IWMProfile | 提供对读取器中加载的文件的配置文件信息的访问权限。 |
IWMProfile2 | 检索与配置文件关联的全局唯一标识符(如果存在)。 继承 IWMProfile的所有方法。 |
IWMProfile3 | 支持配置文件中的带宽共享和流式处理优先级信息。 继承 IWMProfile 和 IWMProfile2的所有方法。 |
IWMReader | 提供基本的文件读取功能,包括打开、关闭、启动、暂停、恢复、停止和获取和设置输出属性等作。 |
IWMReaderAccelerator | 与 DirectX 视频加速通信。 |
IWMReaderAdvanced | 提供读取器的高级功能,例如用户提供的时钟、缓冲区分配、返回统计信息和流选择通知。 |
IWMReaderAdvanced2 | 为现有读取器对象提供其他高级方法范围。 继承 IWMReaderAdvanced的所有方法。 |
IWMReaderAdvanced3 | 提供高级查找和流式处理控制。 继承 IWMReaderAdvanced 和 IWMReaderAdvanced2的所有方法。 |
IWMReaderAdvanced4 | 提供高级读取器选项,包括多种语言支持。 继承 IWMReaderAdvanced、IWMReaderAdvanced2和 IWMReaderAdvanced3的所有方法。 |
IWMReaderNetworkConfig | 控制网络配置设置。 |
IWMReaderNetworkConfig2 | 提供对高级网络配置设置的访问权限。 继承 IWMReaderNetworkConfig的所有方法。 |
IWMReaderStreamClock | 设置和取消流时钟上的计时器,并检索指定流时钟的当前值。 |
IWMReaderTimecode | 提供有关读取器中加载的文件中的 SMPTE 时间代码范围的信息。 |
IWMReaderTypeNegotiation | 测试流输出属性的更改是否正常工作。 |
可以在应用程序中实现以下回调接口来跟踪读取器对象的进度。
接口 | 描述 |
---|---|
IWMCredentialCallback | 获取用户的凭据,并检查他们是否有权访问远程站点。 |
IWMReaderAllocatorEx | 提供 IWMReaderCallbackAdvanced 接口的 AllocateForOutput 和 AllocateForStream 方法的扩展替代方法。 |
IWMReaderCallback | 为 开始 和 IWMReader的 Open 方法提供回调方法。 |
IWMReaderCallbackAdvanced | 为 IWMReaderAdvanced 接口的方法提供回调方法。 |
IWMStatusCallback | 必须向主机应用程序传达状态信息时必需。 |
相关主题