问题标签 [wmplib]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
110 浏览

media-player - 媒体播放器问题

我正在制作一个关于 COM 库“WMPLib”的媒体播放器。该程序由 1 个表单组成。我使用了 WMPPlayState Enumerable,并且到目前为止运行平稳,带有播放列表和所有内容。

但现在我决定将程序分成两种形式(Winamp-idea):

Form1 = 玩家

Form2 = 播放列表

当然,我重新安排了一些代码以使其工作。这是我从 form2 中的 listBox 得到的(trackURL 有一个 public 修饰符):

它在 form1 中调用 TEST(string trackURL) 方法,该方法包含以下内容:

问题是,显然 playStateChange 没有被触发。因此,我的任何控件都不起作用,因为一切都通过 playStateChange 枚举器。播放列表中选择的歌曲正在按预期播放。但是没有任何控制权。甚至音量控制也不起作用。

任何帮助表示赞赏。

问候,丹尼

0 投票
1 回答
1954 浏览

c# - C# WindowsMediaPlayer 未在 PlayStateChange 更改时执行

我有一个在应用程序运行时创建的 WMPLib.WindowsMediaPlayer 实例。当播放器播放状态 =“已停止”时,我想隐藏一个面板。

这是我的代码:

任何帮助将不胜感激。

0 投票
1 回答
491 浏览

winapi - 使用 WMP SDK 发送命令时 Windows Media Player UI 未更新

我正在使用WMP SDK来控制 Windows Media Player。我首先使用 Windows Media Player 插件向导创建了一个新项目,然后添加了使用命名管道与我的应用程序通信的代码。例如,当我的应用程序需要将音乐静音时,它会向 WMP 插件发送一条消息,然后该插件会将音乐静音:

它可以工作,当我发送命令时,它们会被执行,但 UI 不会更新。因此,例如,如果我发送静音命令,音乐会静音(没有声音),但静音按钮仍然显示,好像音乐没有静音。为了证明这一点,我可以在此时更改皮肤或跳到另一首歌曲,UI 得到更新并正确显示静音状态。如果我单击它,它会取消静音,然后再次显示取消静音状态(现在是正确的状态)。

那么,是否有任何方法可以强制刷新 UI,例如,或其他一些解决方法?

0 投票
1 回答
1187 浏览

.net - 通过 IronPython 控制 Windows Media Player 实例的问题

使用 .NET Windows Media Player 库,我能够以编程方式获取和更改 Windows Media Player 的各种文件属性(如用户评级)。我希望使用同一个库通过Player.openPlayer(url)调用来控制(播放、停止、下一个等)Windows Media Player 实例。理论上,这通过 Player.controls 对象应该是非常可能的,但是当我去访问它们时,没有一个控件可用。除了控件对象之外,我几乎可以使用所有播放器属性/方法/事件。这是一些示例代码来说明我尝试过的内容:

这很好用,但是当我执行以下操作时:

每个控件我都错了。为什么这些控件不适用于我的(简单)应用程序?我可能会以错误的方式解决这个问题吗?我使用的是 WMP 12,所以它应该不仅仅是兼容的。我真的不想使用其他 API,但我愿意在这一点上尝试任何东西。

以下是参考文档:http: //msdn.microsoft.com/en-us/library/dd564034%28v=vs.85%29.aspx

编辑: 快速修复暂时保留,但我还没有找到实际的解决方案。

0 投票
1 回答
2831 浏览

c# - C# 中的 WMP 库 - 列表中的播放列表

我刚刚发现了适用于 C# 的 Windows Media Player 库,因为我正在为我的朋友制作一个愚蠢的小应用程序,所以我想我会把它添加进去(因为他喜欢音乐)。

我已经尝试创建播放列表的一个实例,但我无法让它允许该行,任何帮助将不胜感激(请注意,“pth”字符串是在方法的前面声明的

0 投票
1 回答
3648 浏览

c# - 使用 C# 从 WMP 中检索歌曲名称

使用 C# 我试图检索当前正在播放的歌曲的名称并将其显示在列表框中,因此每首播放的歌曲都显示在列表框中。

但这让我例外。“对象引用未设置为对象的实例”这里:

有谁知道如何解决这个问题?

0 投票
1 回答
224 浏览

c++ - WMP COM 无法在后续用户模拟下运行

我有一个需要访问所有当前登录用户的 Windows Media Player 库的 Windows 服务。由于它是一项服务,因此我必须模拟登录用户,以便对 WMP COM 的调用将返回模拟用户上下文中的信息(即返回模拟用户的库而不是系统的库)。我需要为每个登录的用户执行此操作。

我能够通过 成功在线程中模拟用户ImpersonateLoggedOnUser,获取用户的库,然后执行RevertToSelf. 当我尝试为下一个登录用户执行此操作时,就会出现问题。似乎对 WMP COM 的任何后续调用总是返回第一个模拟用户的库,而不是当前被模拟的用户。

这是我正在做的事情的一般要点:

0 投票
1 回答
1519 浏览

c# - axwindowsmediaplayer 上时间更改时触发事件

我有一个 Windows 应用程序。我正在使用 AxInterop.WMPLib dll 中的 axwindowsmediaplayer。我对播放视频没有任何问题,但我想在用户通过单击媒体播放器进入特定时间时触发一个事件。我查看了 dll 文件,但找不到这样的事件。任何人都可以帮助我了解当用户转到另一个视频时间时如何触发事件?

谢谢

0 投票
1 回答
893 浏览

c# - 在 Windows N 版本上使用 WMPLib

我有一个问题,我不知道如何解决它:我在我的 C# 应用程序中使用了 WMPLib(位于 C:\Windows\System32\WMP.dll 中)。我引用了它并将其添加到主窗体的代码文件的标题中:

但是,如果我尝试在 Windows N 版本上运行我的应用程序(我认为 KN 版本在这里也很重要),它会停止工作并且 Windows 会显示以下消息:“应用程序名称已停止工作。您可以检查解决方案.. ."。所以现在,我正在尝试找到一种解决此问题的方法,例如,当用户运行 Windows N 版本时,不要在运行时导入该 DLL。恐怕我无法将我的应用程序重新分发给 Windows N 用户。

感谢您的任何建议,瓦利

0 投票
1 回答
386 浏览

c# - 如何给出任何播放器的播放歌曲路径?

如何给出任何播放器的播放歌曲路径?

我收到此错误:

你调用的对象是空的。