问题标签 [wmp]

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 回答
893 浏览

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

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

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

感谢您的任何建议,瓦利

0 投票
1 回答
1118 浏览

c# - WPF 媒体元素变为空白,VLC 和 WMP 进入无响应模式

我有一个可以播放视频的 C# windows 应用程序。我使用了三个选项,即 WPF mediaelement、Windows 媒体播放器 activex 组件和 vlc activex 组件。在我的应用程序中。在此,我一次使用其中一个组件播放视频。为此,我使用了该特定组件的两个实例,即第一个视频将在第一个实例中播放,然后第二个视频将在第二个实例中播放,然后第三个将在第一个实例中播放,第四个将在第二个实例中播放,就像这样它将继续。播放时间为 5 秒到几小时。现在,

  1. 当我在几个小时后使用 WPF 媒体元素时,表单变为空白并且应用程序挂起(我有 log4net 要记录,只要它变为空白,它就会停止记录),但是在任务管理器中显示没有响应它显示正在运行。此外,有时它需要大量的记忆。

  2. 当我在一些小时应用程序进入无响应模式并且任务管理器正确显示它之后使用 WMP 或 VLC activex com 对象时。在这种情况下,没有内存问题。

在看到上述结果后,我计划在轮到它之后处理这些对象。因此,对于每个视频,都有上述组件的一个新实例。但我仍然遇到同样的问题吗?

0 投票
2 回答
1381 浏览

c# - 如何在 C# 中监听 windows 事件?

我正在开发一个与歌词相关的应用程序,我需要收听 Windows Media Player 事件。我在“Accessible event watcher”中观看了windows事件,我发现WMP在状态或当前位置发生变化时会发送一些事件。我在 MSDN 上搜索并找到这篇文章如何在 Visual C# .NET 中设置 Windows 挂钩,但我无法使其工作。

如何从我的 C# 应用程序中收听该事件或有关使用其他方法获取当前歌曲和 WMP 播放状态的任何建议?\

谢谢你

0 投票
2 回答
1488 浏览

c# - C# - 如果不支持 Windows Media Player,则会出错

我在我的 c# 项目中使用 Windows 媒体播放器(Interop.WMPLib.dll 和 AxInterop.WMPLib.dll)从服务器流式传输 mp3。唯一的问题是,如果 pc 上不支持 windows 媒体播放器(未安装或其他),我的应用程序只会给出一个错误(没有例外,只是一个“windows-error”)并且不会启动。

那么,是否可以检查是否支持 windows 媒体播放器?仅检查操作系统是否受支持可能无济于事。

是否有比使用 WMP 更好的流式传输 mp3 的方法?

提前致谢。

0 投票
0 回答
1028 浏览

c# - K-lite 编解码器崩溃问题

我有一个 C# windows 窗体应用程序,我在其中使用 WMP activex 对象和 WPF MediaElement 播放视频(我已使用元素主机将它包含在 windows 窗体中)。当应用程序启动时,用户选择 WMP 或媒体元素来播放视频。然后应用程序从预定义的本地目录中一一开始播放视频。

视频格式几乎是所有领先的格式,如 wmv、avi、mpg、mpeg、mp4、mkv、flv、mov、vob、3gp。我正在使用 K-lite 编解码器完整包,以便所有这些格式都可以在播放器中播放。

现在,问题是在安装了 k-lite 和我的应用程序后一切正常(所有视频都可以正常播放)。但一段时间后,一些视频在两个组件中都停止播放。当时我检查了它是否在实际的(本机)Windows 媒体播放器中播放,但它也没有在其中播放。然后,如果我卸载 K-lite 并再次安装它,视频就会开始在我的应用程序以及本机 WM 播放器中播放。一段时间后,此行为再次发生。

它发生后的时间可以是几小时到几天之间的任何时间,并且每次它发生在不同的视频格式上。我也用不同的硬件检查过它,行为是一样的。这可能是什么问题?是组件(WMP activex 和媒体元素)问题吗?真的是编解码器崩溃的问题吗?还是这个编解码器问题与图形驱动程序冲突?

另外,我在注册表中禁用了硬件加速。

另外,我忘记告诉你的一件事是这个屏幕

WMP 初始设置

除了 K-lite 编解码器,这也是一种情况。我不明白为什么我的 WMP 设置会丢失,它要求我一次又一次地这样做,尽管我已经关闭了 Windows 更新。

谢谢。

0 投票
1 回答
168 浏览

ios - 苹果设备是否支持 windows 媒体播放器

我有一个播客页面,其中使用 windows 媒体播放器在“对象”标签中播放 mp3 播客。但它们不适用于 iPhone、iPad 和 iTouch。是因为苹果设备不支持 WMP 吗?

我需要为此使用 HTML5 吗?

0 投票
2 回答
2113 浏览

vb.net - 无法在 VisualBasic 中调用 WMP 的 controls.play() 函数

我有以下代码:http://pastebin.com/EgjbzqA2基本上只是http://www.dreamincode.net/forums/topic/57357-mymusic-player/的精简版。我希望程序重复播放一个文件,但是,由于某种原因,此功能不起作用。程序播放每个文件一次然后停止。

0 投票
1 回答
2418 浏览

c# - WMP.Url 相对路径

我正在编写一个程序,使用 Windows Media Player 组件从与我的应用程序位于同一目录的 Resources 文件夹中播放音频(因此可以将其移动到另一台计算机)。

我当前选择音频剪辑的代码是:

哪个工作正常,但是当我将其更改为:

它停止工作。我也尝试过以 ~/ 和 ../ 开头的文件路径,但都不起作用。这是 WMP 组件特有的问题还是我错过了更大的问题?

0 投票
1 回答
612 浏览

c# - 嵌入式 Windows Media Player 拒绝卸载媒体

我在表单应用程序中嵌入了 Window Media Player 控件 (axWindowsMediaPlayer) 来播放 mp3 文件。

当我尝试卸载媒体时,希望它会禁用播放按钮并且不允许进一步播放它拒绝这样做的音乐。最后播放的曲目保持加载并可以播放。

到目前为止我尝试过的代码是:

我肯定在这里遗漏了一些东西吗?任何帮助将不胜感激!

0 投票
1 回答
1842 浏览

c# - 如何将事件附加到动态对象或 COM 对象

我认为这篇文章和我有同样的问题。但是,我的情况没有可行的解决方案。

我在我的程序中使用 Windows Media Player ActiveX。

出于某种原因,我不想添加它的引用并通过 IDE 自动转换为 AxHost。

Activator我通过and创建实例ProgID

我试图这样做Reflection,但我发现这dynamic适合我的情况。

每个属性和方法都可以正常工作,如下所示:

不幸的是,当我想像我在顶部指出的文章那样附加事件时,它没有工作。

我的代码是这样的:

我检查了 的事件处理程序的类型StatusChange,它是EventHandler.

这些代码编译得很好,我可以加载一些音乐,播放它,暂停它,......做任何我喜欢的事情。

但该StatusChange事件从未触发。

我试图在connectEvent.

在运行时_wmp.StatusChange += new EventHandler(...),IntelliTrace 会给我一些信息。

这些信息是用繁体书写的。中文,我觉得意思是:

Microsoft.CSharp.RuntimeBinder.RuntimeBinderException: 无法应用运算符“+=”来键入System.Dynamic.DynamicObjectSystem.EventHandler

即使有一个例外,但就像我说的,编译通过了,一切仍然有效——除了我无法监听事件。

那么,如何在动态对象中成功附加事件_wmp

任何可能的解决方案(如Reflection)对我有用。

此外,在上述情况下,处理程序类型StatusChangeEventHandler.

但是如果我想处理PlayStateChange事件,如果我不添加 wmp.dll 的引用,它就是一个“未知句柄”。

我希望该解决方案也适用于这种情况。

提前感谢大家的支持,请原谅我的英语不好。