将 Windows 媒体播放器 控件与 Microsoft Visual Studio 配合使用
[与此页面关联的功能(Windows 媒体播放器 SDK)是旧版功能。 它已被 MediaPlayer 取代。 MediaPlayer 已针对Windows 10和Windows 11进行了优化。 如果可能,Microsoft 强烈建议新代码使用 MediaPlayer 而不是 Windows 媒体播放器 SDK。 如果可能,Microsoft 建议重写使用旧 API 的现有代码以使用新 API。]
可以通过 Visual Studio 中的“工具箱”将 Windows 媒体播放器 9 系列或更高版本的 ActiveX 控件添加到 .NET Framework 应用程序。
添加Windows 媒体播放器控件
创建新项目之前,请确保计算机上安装了最新版本的 Windows 媒体播放器 和 Windows 媒体播放器 SDK。
启动 Visual Studio,然后创建新项目。
在 Visual Studio 中,打开“工具箱”。
如果工具箱的“组件”部分中未显示Windows 媒体播放器,请执行以下操作:
在“工具箱”中右键单击,然后选择“ 选择项”。 这将打开 “自定义工具箱 ”对话框。
在“COM 组件”选项卡上,选择“Windows 媒体播放器”。
如果列表中未显示Windows 媒体播放器,请单击“浏览”,然后打开应位于 Windows\System32 文件夹中Wmp.dll。
单击“确定”。 Windows 媒体播放器控件将放置在当前“工具箱”选项卡上。
现在可以在“工具箱”中选择Windows 媒体播放器并将其添加到窗体中。
Visual Studio 为Windows 媒体播放器控件提供默认名称,例如“axWindowsMediaPlayer1”。 你可能想要将名称更改为更容易记住的名称,例如“Player”。
从工具箱中添加 Windows 媒体播放器 控件还会添加对 Visual Studio AxWMPLib 和 WMPLib 创建的两个库的引用。 可以在“引用”下的解决方案资源管理器中找到它们。
若要更轻松地使用 Player 命名空间中的对象,应将 命名空间包含在文件的 using 或 imports 指令中,如下所示:
using WMPLib;
imports WMPLib
指令可确保可以在不完全限定其名称的情况下引用 Player 对象。
注意
Windows 媒体播放器控件是 AxWMPLib 命名空间中的 AxWindowsMediaPlayer 对象。 但是, AxWindowsMediaPlayer 类使用 WMPLib 命名空间中的数据类型、接口和其他元素。
配置控件的可见性
首次将Windows 媒体播放器控件添加到窗体时,该控件将可见。 如果不想在应用程序中使用 Player 的可见图像,请通过设置以下任一属性来隐藏默认 Player:
属性 | 值 |
---|---|
uiMode | “invisible” (请参阅 Player.uiMode.) |
Visible | “false” |
Size.Width | 0 |
Size.Height | 0 |
在窗体设计器中选择Windows 媒体播放器控件时,可以在代码中或在“属性”窗口中设置这些属性。
控件的对象模型兼容性
Windows 媒体播放器 控件的对象模型在.NET Framework与非托管代码和脚本中的对象模型基本相同。 但是,元素的公开方式存在差异:
- 大多数对象在其基础 COM 接口的名称下公开。 例如, Playlist 对象公开为 IWMPPlaylist。
- 某些接口具有更高版本。 例如,IWMPMedia2 和 IWMPMedia3 中为 IWMPMedia 提供了其他功能。 如果将对象声明为 IWMPMedia,则通常有权访问接口的所有版本的功能。 但是,IntelliSense® 不会识别更高版本接口的方法或属性,并且 Visual Basic .NET 编辑器不会自动更正大写。 若要充分利用 IntelliSense 和 Visual Studio 的其他功能,请使用最新版本的接口(如 IWMPMedia3)声明 对象。
- 没有 (C#) 索引属性或 visual Basic .NET) (默认属性。 例如,若要检索 Playlist.item,必须在 C# 中调用 IWMPlaylist.get_Item 访问器方法或在 Visual Basic .NET 中检索 IWMPlayist.Item 属性。
- 由于 Windows 媒体播放器 Controls 属性与每个控件公开的 Controls 属性之间的命名冲突,因此此属性的 Player 版本在 ActiveX 控件的上下文中称为 CtlControls。 (但是,以编程方式而不是 ActiveX 控件创建 Player 时,情况并非如此。)
使用 Visual Studio 中的对象浏览器查找 AxWMPLib 和 WMPLib 命名空间中方法和对象的正确 API 名称。
分发应用程序
分发应用程序时,请确保在应用程序文件夹中安装AxInterop.WMPLib.dll和Interop.WMPLib.dll。 还需要确保在用户的计算机上安装所需的 Windows 媒体播放器 版本。
相关主题
反馈
https://aka.ms/ContentUserFeedback。
即将发布:在整个 2024 年,我们将逐步淘汰作为内容反馈机制的“GitHub 问题”,并将其取代为新的反馈系统。 有关详细信息,请参阅:提交和查看相关反馈