将 Windows 媒体播放器 控件与 Microsoft Visual Studio 配合使用

可以通过Visual Studio中的工具箱将 Windows 媒体播放器 9 系列或更高版本的ActiveX控件添加到.NET Framework应用程序。

添加Windows 媒体播放器控件

创建新项目之前,请确保计算机上安装最新版本的 Windows 媒体播放器 和 Windows 媒体播放器 SDK。

"开始"菜单 Visual Studio,然后创建新项目。

在Visual Studio中,打开工具箱。

如果工具箱的“组件”部分中未显示Windows 媒体播放器,请执行以下操作:

  1. 在工具箱中右键单击,然后选择“ 选择项”。 这将打开“ 自定义工具箱 ”对话框。

  2. “COM 组件”选项卡上,选择Windows 媒体播放器。

    如果列表中未显示Windows 媒体播放器,请单击“浏览”,然后打开Wmp.dll,该Windows\System32 文件夹中。

  3. 单击“确定”。 Windows 媒体播放器控件将放置在“当前工具箱”选项卡上。

现在可以在工具箱中选择Windows 媒体播放器并将其添加到窗体。

Visual Studio为Windows 媒体播放器控件提供默认名称,例如“axWindowsMediaPlayer1”。 你可能希望将名称更改为更容易记住的内容,例如“玩家”。

从工具箱中添加Windows 媒体播放器控件还会添加对由 Visual Studio、AxWMPLib 和 WMPLib 创建的两个库的引用。 可以在“引用”下的解决方案资源管理器中找到它们。

若要简化在 Player 命名空间中使用对象,应在文件的 using 或 imports 指令中包含命名空间,如下所示:

using WMPLib;
imports WMPLib

该指令可确保可以引用 Player 对象,而无需完全限定其名称。

注意

Windows 媒体播放器控件是 AxWMPLib 命名空间中的 AxWindowsMediaPlayer 对象。 但是, AxWindowsMediaPlayer 类使用 WMPLib 命名空间中的数据类型、接口和其他元素。

 

配置控件的可见性

首次将Windows 媒体播放器控件添加到窗体时,它将可见。 如果不想在应用程序中使用播放器的可见图像,请通过设置以下任一属性来隐藏默认播放器:

属性
uiMode “不可见” (See Player.uiMode.)
Visible “false”
Size.Width 0
Size.Height 0

 

在窗体设计器中选择Windows 媒体播放器控件时,可以在代码或“属性”窗口中设置这些属性。

控件的对象模型兼容性

Windows 媒体播放器控件的对象模型基本上与非托管代码和脚本中的.NET Framework相同。 但是,元素的公开方式存在差异:

  • 大多数对象在基础 COM 接口的名称下公开。 例如, 播放列表 对象公开为 IWMPPlaylist
  • 某些接口具有更高版本。 例如,IWMPMedia 在 IWMPMedia2IWMPMedia3 中提供了其他功能。 如果将对象声明为 IWMPMedia,则通常有权访问接口的所有版本的功能。 但是,IntelliSense ®无法识别更高版本的接口的方法或属性,Visual Basic .NET 编辑器不会自动更正大写。 若要充分利用IntelliSense和其他Visual Studio功能,请使用最新版本的接口(如 IWMPMedia3)声明对象。
  • (C#) 或 .NET) (Visual Basic默认属性没有索引属性。 例如,若要检索播放列表.item,必须在 C# 中调用IWMPlaylist.get_Item访问器方法,或在 Visual Basic .NET 中检索 IWMPlayist.Item 属性。
  • 由于Windows 媒体播放器 Controls 属性与每个控件公开的 Controls 属性之间的命名冲突,因此在ActiveX控件的上下文中,此属性的 Player 版本称为 CtlControls。 (但是,以编程方式创建播放器而不是ActiveX control.)

使用 Visual Studio 中的对象浏览器查找 AxWMPLibWMPLib 命名空间中方法和对象的正确 API 名称。

分发应用程序

分发应用程序时,请确保在应用程序文件夹中安装AxInterop.WMPLib.dll和Interop.WMPLib.dll。 还需要确保所需的Windows 媒体播放器版本安装在用户的计算机上。

以编程方式创建Windows 媒体播放器控件

在 C# 解决方案中嵌入Windows 媒体播放器控件

在 Visual Basic .NET 解决方案中嵌入Windows 媒体播放器控件