读取 ASF 文件

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

Windows Media Format SDK 可用于从 ASF 文件传送媒体示例。 两个 对象用于检索示例:读取器对象和同步读取器对象。

读取器对象是 Windows 媒体格式 SDK 中的原始阅读对象。 读取器对象使用异步体系结构将示例推送到应用程序。 使用读取器对象生成的应用程序必须实现回调函数,以响应由此多线程模型产生的各种消息和事件。 为清楚起见,本部分将读取器对象称为异步读取器。

同步读取器对象是此版本的 Windows 媒体格式 SDK 的新增对象。 同步读取器在处理 ASF 文件中的示例时不使用多个线程。 使用同步读取器生成的应用程序可按需检索示例,而不是等待读取器发送示例。

创建应用程序以读取 ASF 文件时,必须选择要使用的读取器对象。 通常,设计为提供基于 Windows Media 内容的应用程序应使用异步读取器创建,而设计用于编辑 ASF 文件的应用程序应使用同步读取器创建。

下表列出了这两个读取器对象的主要功能。 使用此表可帮助确定要用于应用程序的对象。

功能 异步读取器 同步读取器
按输出编号读取未压缩的示例
按流编号读取压缩示例
按流编号读取未压缩的示例
从 Internet 站点读取
读取元数据
查找演示时间
查找框架
查找标记
在播放期间在压缩和未压缩的示例传送之间切换
使用 IStream 接口打开文件

 

以下部分提供有关使用两个读取器对象的详细信息。

部分 说明
使用输出 介绍如何使用和操作输出。 适用于这两个读取器对象。
为文件读取分配缓冲区 介绍如何使用自己的缓冲区池来保存读取器或同步读取器提供的示例。
在播放时读取元数据 介绍如何在播放时利用元数据支持。 适用于这两个读取器对象。
在播放时获取配置文件信息 介绍如何访问已打开文件的配置文件信息。 适用于这两个读取器对象。
读取多通道音频 介绍如何配置编写器以正确解码多声道音频。
呈现内容 讨论与呈现未压缩示例相关的问题。 适用于这两个读取器对象。
获取最佳视频以寻求性能 介绍提高视频搜寻性能的方法。
使用异步读取器读取文件 介绍如何使用异步读取器对象读取 ASF 文件。
使用同步读取器读取文件 介绍如何使用同步读取器对象读取 ASF 文件。
启用 DirectX 视频加速 介绍如何实现 DirectX 视频加速,以使用某些视频卡的硬件加速功能对视频进行解码。

 

编程指南

读取器对象

同步读取器对象