问题标签 [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 回答
2665 浏览

c# - ASP.NET C# 中的 Windows 媒体播放器

第一次尝试:我通过在我的项目中添加 WMPLib 作为引用以编程方式创建了 Windows Media Player。我正在尝试在 ASP.Net 网页(Visual Studio 2015)中使用 Windows Media Player 播放播放列表。我不能使用 HTML 5 示例中使用的视频标签,因为我需要在控件中显示 .wmv、.mp4、.jpg 格式。当我运行代码时,没有显示错误并且我看到一个空的浏览器,我错过了什么?这是我的示例代码:

我知道硬编码路径不是很好的做法,但是我只需要在我的本地机器上显示它。谢谢!

0 投票
3 回答
873 浏览

c# - 如何使用 c# wmp 打开播放列表文件

当我使用Player.playlistCollection.newPlaylist("name")它时,它会在默认播放列表目录 (C:\Users\username\Music\Playlists) 中创建一个 name.wpl 文件。当我重新启动应用程序并将其传递给播放器时,如何打开此文件?

0 投票
2 回答
397 浏览

c# - 使用 WMPLib C# .NET 的 WMNetMgr.dll 应用程序错误 w3wp.exe 错误

我的 Web 应用程序经常崩溃并重置 IIS 中的应用程序池会导致严重的性能问题,以及擦除应用程序中运行的任何计时线程,我遇到了问题。

该站点是在 AWS 中的 2012 Windows Server EC2 实例上运行的 .NET 4.5.2 C# MVC5 站点。

当我开始看到该网站在运行了这么多分钟后难以加载时,首先注意到了这个问题。我认为这可能是 ApplicationPool 回收,并确保在 IIS 中正确设置 IdleTime 和 Application Preload。问题仍然存在。

接下来我去服务器管理器检查事件日志,发现这些条目大约每 15 分钟发生一次:

错误应用程序名称:w3wp.exe,版本:8.5.9600.16384,时间戳:0x5215df96 错误模块名称:WMNetMgr.dll_unloaded,版本:12.0.9600.17415,时间戳:0x545047db 异常代码:0xc0000005 错误偏移量:0x00 错误进程 000000000cfd50cfid:应用程序启动时间:0x01d331dc20f096d0 错误应用程序路径:c:\windows\system32\inetsrv\w3wp.exe 错误模块路径:WMNetMgr.dll 报告 ID:777a35de-9dd1-11e7-81d7-025ff0be916d 错误包全名:错误包相关应用程序ID:

WIN-7PCRJOFR05F 5011 警告 Microsoft-Windows-WAS 系统 9/20/2017 上午 7:01:04 - 为应用程序池“SiteName”提供服务的进程与 Windows 进程激活服务发生了致命的通信错误。进程 ID 为“6096”。数据字段包含错误号。

接下来我运行了 DebugDiag2 收集和分析:

警告 - DebugDiag 无法找到 WMNetMgr.dll> 的调试符号,因此以下信息可能不完整。在 w3wp__SiteName__PID__5088__Date__09_20_2017__Time_06_31_02AM__436__Second_Chance_Exception_C0000005.dmp 中,当另一个模块尝试调用以下已卸载模块:WMNetMgr.dll> 时,线程 26 上发生了访问冲突异常 (0xC0000005)。

线程 26:调用堆栈 Unloaded_WMNetMgr.dll+cf5cf 0x000000de 575cf7c0 0x000000dc2ed5ec10

这是此调试器报告的唯一错误。报告上的 .NET 堆栈跟踪中没有其他异常。我似乎无法获得这个特定 .dll 的调试符号,而且这些消息似乎也不是很有帮助。

该应用程序利用 WMPLib 在 wmplayer 启动时创建一个单例实例,以通过来自客户端的 Web 请求在 Windows Server 2012 实例上播放声音。该应用程序在这方面工作,播放来自多个用户的声音和请求没有问题。

这是单例:

并最初通过以下方式在 Startup.cs 中实例化:

我可以在本地开发机器上运行此应用程序,而不会出现问题或崩溃。一切都按预期运行,没有崩溃。在部署到 EC2 实例时,站点上的一切工作正常,但现在每 15 分钟就会发生一次崩溃/重置。

我的怀疑是:

A) 这是 WMPLib 实例的问题,以及对 Windows Server 2012 框的一些缺失依赖,允许它播放声音但会导致定期崩溃。

B)我的单例实例化出错了,它以某种方式使我的应用程序崩溃。

我在这里尝试了解决方案,但没有结果。

任何帮助,将不胜感激。

编辑:我已经确认这个问题与 WMPLib 的使用有关,因为删除它的使用会阻止每 15 分钟崩溃一次。仍然不确定为什么会发生这种情况。

0 投票
1 回答
359 浏览

c# - C#,WMPLib - 如何检查播放器是否正在播放以触发另一个进程

我是 C# 的新手。我只想使用 1 个计时器来执行 2 个不同间隔(0.2 秒和 1 秒)的事件。0.2s 间隔用于检查系统错误,不能停止。1s 间隔用于在发生错误时播放声音。所以,现在我正在使用计算来跳过调用函数checkError(),因为如果我不喜欢这个,由于 mp3 文件的持续时间,声音将无法正常播放,但如果它仍在播放,我想使用播放器的检查状态或而不是这个计算。例如,checkError()播放完声音后会再次调用。我应该怎么办 ?

附言。对不起我的英语不好 :(

0 投票
1 回答
51 浏览

c# - 使用 WMPLib 路径音频文件时遇到问题

我是 C# 新手,路径文件困扰了我一段时间。

音频文件的文件结构如下:

我的视觉工作室表格位于:

我尝试使用以下 URL 引用音频文件:

然而,这并没有奏效。

然后我将文件夹 Audio Files 放在几乎所有其他文件夹中。它仍然没有工作。

我试过了:

那也没有用。我不能简单地完成音频的整个路径,因为它在每台计算机上都不同。

我该如何正确路径?

0 投票
1 回答
170 浏览

c# - 如何按名称查找歌曲并将其从播放列表中删除

基本上我正在制作一个点唱机,我对 WMPLib 库有一个大问题。
我正在尝试从播放列表中删除一个项目,但问题是我找不到任何方法来按名称获取索引或实际媒体。
我正在考虑制作一个播放列表的副本数组,但这只是愚蠢的更多工作,而不是我应该投入到这样一个简单的任务中。

0 投票
0 回答
177 浏览

c# - Wmplib.WindowsMediaPlayer,pause() 函数在 c# 上不起作用

我目前正在使用,WmpLib.WindowsMediaPlayer ()但是当我点击暂停后点击播放时,音乐从头开始重新开始,而不是继续,我不明白为什么。

有人可以向我解释吗?

0 投票
1 回答
461 浏览

c# - C# 播放音乐

我使用 Windows 窗体应用程序创建了一个简单的纸牌游戏。我唯一需要做的就是添加音乐效果。我在 mp3 中录制了一些声音(抽卡等),通过 WMPlib 将其添加到游戏中,一切正常,除了一件事。我想在方法的中间播放音乐,而不是在它结束之后 - 我的意思是:

发生的情况是在代码结束后两种声音一起播放。是否可以在调用第二种方法之前以某种方式管理它以播放第一个声音?非常感谢您的帮助;)

0 投票
1 回答
52 浏览

c# - 播放列表未播放

我在 C# 中使用 WinForms for desktop 制作了一个应用程序。我添加了 WMP 库。如果我想播放单个文件(视频或音频),我只是这样做reproductor.URL = filePath,它会自动播放(作为表单中添加的 WMP 的复制器)。现在我想播放一个播放列表,所以我做了:

没有任何反应,它没有播放任何文件。

我试过了reproductor.Ctlcontrols.play();,但还是一无所获。如果我计算播放列表中的元素,它会显示 3(播放列表文件夹中有 3 个文件,所以这是正确的)。

我也尝试播放播放列表的第一个元素,但reproductor.Ctlcontrols.playItem(reproductor.currentPlaylist.get_Item(1));没有任何反应。

我错过了什么?

0 投票
1 回答
687 浏览

c# - 按下按钮时如何停止播放mp3?

我刚刚从 C++ 和 Rad Studio “迁移”到 C# 和 Visual Studio,因为我可以在 Internet 上看到更多的教程和 VC 帮助。但是..我有一个问题。

我知道在创建表单时(程序启动时)如何播放音乐。但是我怎样才能停止使用正常播放音乐TButton

编译器说

错误 CS0103 当前上下文中不存在名称“wplayer””

我试图移动wplayer.controls.stop()play(); 它有效。但是如何使用按钮停止音乐呢?

这是pastebin上的代码:

https://pastebin.com/v9wDn5mJ