Microsoft Windows Media 9 Series 提供了多种自定义应用程序的方法。您可以使用 Windows Media Player 9 Series SDK、Windows Media Encoder 9 Series SDK 和 Windows Media Services 9 Series SDK 扩展 Windows Media 功能。但是,有些应用程序需要 Windows Media 文件的底层访问权限,您可以使用 Windows Media Format SDK 来满足这些要求。
本文讨论了 Windows Media Format SDK 和高级系统格式 (ASF) 之间的关系,高级系统格式是所有 Windows Media 文件使用的文件格式。本文还介绍了 Windows Media Format SDK 的一般结构,以及 Windows Media 9 Series 的一些很强大的新功能。
本文包括以下主题:
Microsoft Windows Media Format SDK 是一组底层应用程序编程接口 (API),它处理使用 ASF 结构的数据。ASF 是一种可扩展的、独立于内容的格式,Windows Media 使用它来保存和分发数字媒体。
Windows Media Format SDK 是 Windows Media 的核心,Windows Media Player、Windows Media Encoder 和 Windows Media Services 均使用它来提供核心文件 I/O、联网和数字版权管理 (DRM) 支持。下图显示了 Windows Media Player 与 Windows Media Format SDK 之间的依存关系。
值得注意的是,Windows Media Format SDK 不支持从输入设备捕获内容,也不支持向输出设备呈现内容。使用 Windows Media Format SDK 创建应用程序时,您可以使用任意方法来捕获或呈现数字媒体。
如上图所示,Microsoft DirectShow® SDK 为 Windows Media Player 提供内容呈现支持。为了简化应用程序开发,Windows Media Format 9 Series SDK 提供了一个新的筛选器,以便与 DirectShow 一起使用。Windows Media Format SDK 与 DirectShow SDK 的结合为创建编码和播放应用程序提供了端到端解决方案。
Windows Media Format SDK 最重要的功能之一是它与 Windows Media Audio 和 Video 9 Series 编码解码器实现了连接。这些编码解码器提供了最新的压缩功能,使保存高质量数字媒体所需的空间大大减少。
什么是 Windows Media Format?尽管 ASF 容器格式用于所有 Windows Media 文件,但术语“Windows Media Format”指的是一项较具体的配置。如下图所示,Windows Media Format 是编码解码器、DRM、协议和容器格式的组合。最主要的区别是所有 Windows Media 文件都使用 ASF,但使用 ASF 的文件不一定是 Windows Media 文件。例如,如果一个文件包含使用第三方编码解码器压缩的数据,则该文件属于 ASF 文件,而不是 Windows Media 文件。
导致差异的原因是一致性问题。Windows Media 文件使用 .wma 和 .wmv 文件扩展名,而包含第三方编码解码器压缩数据的文件使用 .asf 文件扩展名。通过缩小 Windows Media Format 定义的范围,应用程序开发人员可以确信他们的程序可以与 Windows Media 文件一起使用。扩展名为 .asf 的文件可以单独处理,但是需要理解,它们可能包含某些播放应用程序无法访问的数据。
很显示,不是所有 Windows Media 文件都需要 DRM 和协议。这些组件是可选的,但包含这些组件并不会改变文件的格式类别。