新闻资讯
看你所看,想你所想

WindowsMediaPlayerSDK

WindowsMediaPlayerSDK

Windows Media Player SDK,即Windows Media Player 软体开发工具包。Microsoft Windows Media Player为数字音频和视频提供了出色的播放效果,但您的业务可能需要显示更多信息,或者需要修改视频或音频内容的播放方式。使用 Windows Media Player 软体开发工具包 (SDK)(代号为“Corona”),您可以扩展独立Player 的功能,并将播放功能嵌入到自己的应用程式中。

基本介绍

  • 中文名:软体开发工具包
  • 外文名:WindowsMediaPlayerSDK
  • 缩写:SDK
  • 呈现外挂程式:可以编写一个自定义播放应用程式

摘要

了解如何更改 Windows Media Player 的外观和行为,如何将其嵌入基于 Web 或基于 Windows 的应用程式,以及如何使用外挂程式对象扩展其功能。本文介绍了 Windows Media Player 软体开发工具包 (SDK) 并描述了这些功能的用法。

简介

本文对 SDK 进行了高级概述,涉及如下所述的三个主要功能;本文适用于决策者以及初次接触数字媒体编程的程式设计师。
可以将 Player 嵌入 Web 应用程式或基于 Microsoft Windows 的应用程式中。Windows Media Player 具有模组化体系结构,使您可以只使用所需的部分。尤其是,用户界面与音频和视频内容的播放功能相互独立。您可以使用其播放功能,并可决定在应用程式中是使用 Player 的现有用户界面,还是创建自己的用户界面。
Windows Media Player 提供了外观功能,您可以使用该功能创建个性化的 Player 外观,也可以基于 Player 创建截然不同的功能。
还可以创建外挂程式来扩展 Player 的主要功能,方法是向用户界面添加新的互动式控制项,在 Player 呈现音频或视频数据前对其进行修改,然后在 Windows Media 档案中呈现非标準数据流。

本文包括以下主题

1、创建 Player 应用程式。介绍如何在 Web 或基于 Windows 的应用程式中嵌入 Windows Media Player 功能。
2、创建外观。介绍外观功能:更改 Windows Media Player 的外观和行为。
3、创建外挂程式。介绍修改 Windows Media Player 外观和行为的外挂程式。其中包括呈现专有内容、修改音频或视频播放以及通过互动式控制项提供全新的功能。

创建 Player 应用程式

Windows Media Player 包括用于呈现视频和音频的 Microsoft ActiveX 控制项。该控制项可在任何运行 Windows Media Player 的计算机上获得。Windows Media Player 是一种独立的技术,此外,它还包括一个 ActiveX 控制项形式的组件对象模型 (COM) 伺服器(Player 与 ActiveX 控制项之间的关係相当于 Microsoft Internet Explorer 与其所提供的 WebBrowser ActiveX 控制项之间的关係)。
有两种方法可用于创建使用 Windows Media Player ActiveX 控制项的应用程式。您可以在 Web 应用程式中使用该控制项,也可以在基于 Windows 的应用程式中使用它。
要在 Web 应用程式中使用 Windows Media Player,应在页面的超文本标记语言 (HTML) 中包含一个 OBJECT 元素。并在 OBJECT 元素中包含嵌套的 PARAM 元素,以指定 Windows Media Player ActiveX 控制项是否可见、包含哪些操作按钮以及该控制项的其他属性。通过包含多个 OBJECT 元素,可在一个 Web 页面中包含多个控制项。要完全控制嵌入的 Player,可以在页面的 HTML 中编写脚本代码。
要在基于 Windows 的应用程式中使用 Windows Media Player,可以包含一个对服务于该控制项的动态程式库 (DLL) 的引用。例如,在 Microsoft Visual Basic 中,使用 Components(组件)对话框设定一个对“Windows Media Player”(这是 Wmp.dll 档案中库的助记名称)的引用。
如何设定控制项属性取决于所用的编程环境。例如,在 Visual Basic 中,使用自定义 Properties(属性)对话框在设计时设定属性。也可以通过编写代码设定或读取属性以及在运行时调用方法。
最终用户可在任何安装了 Windows Media Player 的基于 Windows 的计算机上运行该应用程式。他们可以通过已经熟悉(或由您创建)的用户界面收听音频或观看视频。
企业程式设计师可以简单地使用 Player 提供的播放功能,并将精力集中在应用程式的特定业务需要上。

创建外观

您可以使用 Windows Media Player 中的外观技术更改 Player 的外观,同时保持它的标準行为。Player 包含的外观便是该功能的体现。儘管这些外观使 Player 看起来迥然不同,但它们却都保留了 Play(播放)和 Pause(暂停)按钮、显示播放列表、返回到完整模式等基本功能。
您还可以使用外观技术创建一个外观和行为与标準 Player 相差很大的应用程式。您可以随意在外观中添加各种各样的控制项,使其执行自定义操作。要定义自定义操作,可以编写 JScript 代码;您无需精通 Microsoft Visual C++ 或 Visual Basic 即可将外观技术用作编程平台。
您可以将外观定义档案、图像档案和任何 Jscript 档案压缩到档案扩展名为 .wmz 的单个档案中。这是将外观提供给最终用户的标準方法。
您还可以创建称作框线的特殊外观,它显示在完整模式下的 Windows Media Player 的 Now Playing(正在播放)功能中。您可以将框线、播放列表档案和数字媒体档案压缩到档案扩展名为 .wmd 的单个可下载档案中。当最终用户单击 .wmd 档案的连结时,Windows Media Player 将对包含的所有档案进行解压缩,将框线套用到 Now Playing(正在播放)功能,然后开始播放在播放列表档案中指定的内容。
这种可下载档案功能尤其适用于向最终用户提供出色的娱乐或教育内容。它不要求最终用户进行任何安装,同时允许您进行广泛的自定义。

创建外挂程式

Windows Media Player SDK 包含支持广泛扩展性的接口。要扩展 Player 的基本功能,可以编写藉助于 DLL 档案的 COM 对象。
SDK 包含一个可创建示例外挂程式项目的 Visual C++ 嚮导。该项目包含编译和注册外挂程式所需的代码和一个示例实现。运行嚮导后,您便可以将编程工作的重点放在实现外挂程式所需的特定代码上。
利用外挂程式提供的扩展性,您可以将 Windows Media Player 用作提供和运算元字媒体内容的平台。外挂程式有几种不同的类型,将在以下主题中进行讨论。

可视化效果外挂程式

当 Player 处于完整模式或外观模式(取决于外观)时,可视化效果外挂程式可在只播放音频内容时,向 Player 的 Now Playing(正在播放)功能添加有趣的动态图像。可视化效果的外观和动态运动基于正在播放的音乐并与之同步。
将可视化效果作为 COM 对象实现。Player 每秒多次为当前选定的可视化效果引发事件。该事件包含以下数据:
1、TimedLevel 结构,其中包括当前音频的频率和音量信息
2、设备上下文句柄,用于指定绘图面
3、RECT 结构,定义绘图面的大小
在可视化效果对象中,实现处理此事件的 Render 方法。
可以使用 Windows 图形设备接口 (GDI) 功能、Microsoft Direct3D 或 DirectDraw 功能等技术对图形进行可视化编程。
在调用那些利用设备上下文的 GDI 函式时,Windows Media Player 外挂程式嚮导生成的示例实现使用音频和音量数据(位于 TimedLevel 结构中)。可以修改或替换该实现,以生成所需的可视化效果。
该嚮导可以编写用于编译自行注册的 COM DLL 的全部代码。要看到可视化效果,只需编译项目,然后运行 Windows Media Player 并选择新的可视化效果即可。

用户界面外挂程式

Windows Media Player 为最终用户提供了各种信息和功能。但是,您可能需要提供自定义互动或自定义数据。使用用户界面外挂程式可完成此项工作。
Windows Media Player 的完整模式由许多区域组成,如 Now Playing(正在播放)功能和播放列表窗格。某些区域在默认状态下不可见,但最终用户可将其显示为可见。这些区域包括显示在 Now Playing(正在播放)功能底部的设定区域,以及显示在播放列表上方的元数据区域。
用户界面外挂程式分五种类型。其中三种类型显示在 Player 的不同区域中。在每个区域中,每次只能启用一个外挂程式。
1、显示外挂程式。这些外挂程式占据 Now Playing(正在播放)功能中的可视化效果显示区域。由于该区域通常很大,因此比较适合显示大量数据或複杂的互动控制项集。
2、设定外挂程式。这些外挂程式位于 Now Playing(正在播放)功能中可视化效果显示区域的下面。该区域包含图形均衡器、视频设定和其他用于配置播放或 Windows Media Player 外观的控制项。设定外挂程式比较适合添加相似的自定义功能,并使最终用户能够配置 Player 的外观或行为。
3、元数据外挂程式。这些外挂程式位于播放列表上方的一个小区域。它们比较适合显示曲目、唱片集或播放列表的确切信息,同时也适用于简单控制项或超连结。例如,Windows Media Player 包含一个元数据外挂程式,它显示的封面图形是一个指向有关当前播放的唱片集和音乐家的更多信息的连结。
有两类用户界面外挂程式在 Windows Media Player 视窗中不显示。
1、视窗外挂程式。这些外挂程式占用一个单独的视窗。它们比较适合显示信息或向最终用户提供从 Now Playing(正在播放)功能切换到其他功能或载入其他外挂程式时始终存在的互动操作。
2、背景外挂程式。这些外挂程式没有图形界面(除非像对待任何外挂程式那样,为它们提供属性页)。它们比较适合不要求最终用户进行输入的自动服务。
Windows Media Player 外挂程式嚮导可以为每种类型的用户界面外挂程式创建示例实现。您可以修改实现细节,以提供所需功能,编译项目,然后使用 Player 测试外挂程式。该嚮导包括编译自行注册的 COM DLL 所需的所有代码,因而您可以在编码时将重点放在特殊需要上。

DSP 外挂程式

数位讯号处理 (DSP) 外挂程式在播放过程中修改数字媒体流。使用 DSP 外挂程式,可以将彩色视频更改为黑白视频,或使用反色使图像看起来像底片。还可在音频中添加颤音或回声效果。外挂程式在处理数字媒体内容时将改变该内容的播放。DSP 外挂程式与可视化效果外挂程式不同,后者接收种子值形式的数字音频数据以生成视觉输出,但并不影响音频播放本身。
除 Windows Media Player SDK 之外,编写 DSP 外挂程式还需要 Microsoft DirectX SDK。这些外挂程式有一个明显特徵,即实现由 DirectX SDK 提供的 IMediaObject 接口。
当 DSP 外挂程式安装在最终用户的计算机上并被激活时,Windows Media Player 在数据呈现之前将音频和视频数据传递给该外挂程式。Player 分配输入缓冲区和输出缓冲区,并使外挂程式能够对这两个缓冲区进行访问。必须实现 IMediaObject 接口的各种方法,以便从输入缓冲区读取数据,以适用于外挂程式的任何方式对数据进行处理,然后将修改后的数据写入输出缓冲区。Windows Media Player 将呈现从输出缓冲区获取的数据。
可以运行 Windows Media Player 外挂程式嚮导创建 DSP 外挂程式的示例实现。该示例实现 IMediaObject 接口,并实现一个称为 DoProcessOutput 的实用程式函式。很多情况下,只需使用 DSP 外挂程式的特有代码修改此实用程式,并利用嚮导提供的所有其他代码。

呈现外挂程式

使用 Windows Media Format SDK,可以向 Windows Media 档案中添加任何数据流。此数据流的格式不受限制,包括 Windows Media Player 默认情况下无法识别的格式。
有两种方法可用来呈现包含此类数据流的 Windows Media 档案。
1、可以编写一个自定义播放应用程式。这种情况下,除了包含用于呈现您的特有内容的代码之外,还必须包含用于提供标準音频、视频和脚本流的代码以及用于显示用户界面的代码。
2、也可以为 Windows Media Player 编写一个呈现外挂程式。这种情况下,仍须编写用于呈现您的特有内容的代码,但是可以利用 Player 的固有功能来呈现支持的流并提供最终用户已有所了解的用户界面。
Windows Media Player 外挂程式嚮导可以创建用于呈现外挂程式的示例实现。该示例可实现呈现外挂程式所需的许多接口,还可以实现一个称为 DoRendering 的实用程式函式。只需使用用于呈现特有流的代码修改此实用程式,并利用嚮导提供的所有其他代码。

转载请注明出处海之美文 » WindowsMediaPlayerSDK

相关推荐

    声明:此文信息来源于网络,登载此文只为提供信息参考,并不用于任何商业目的。如有侵权,请及时联系我们:ailianmeng11@163.com