问题标签 [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 投票
2 回答
3436 浏览

c# - C# 从 Windows Media Player 获取当前歌曲源 url

我正在尝试创建一个小型应用程序,通知用户当前在 Windows Media Player 上播放的歌曲的路径。

所以我四处搜索并发现了一个很好的代码:

但问题是这段代码实际上是获取列表中的第一首歌曲而不是获取当前歌曲,我尝试更改方法但没有好处:(我希望你能帮助我。

0 投票
1 回答
5556 浏览

c# - 在 C# 桌面应用程序中播放视频

我有一个需要播放视频文件的 C# 桌面应用程序。

我目前正在使用 WMPlib,以及 Interop.WMPLib 和 AxInterop.WMPLib。

使用它我可以播放 WMV 视频,但我需要能够播放更多格式,例如 MKV、MP4、AVI、OGV 和 MOV。

通过 MSDN 挖掘,我发现一条评论说它只支持“默认编解码器”,但没有指定它们是哪些......我似乎也无法在线找到该库支持的编解码器列表。 .

如何实现多格式播放?我什至能够做到吗?这方面的文档不是很清楚,我的谷歌搜索只能让我走到这一步..

提前致谢!

0 投票
0 回答
805 浏览

c# - 为什么 IWMPMedia 在某些情况下不包含任何有用的属性?

我有一个 m3u 播放列表,想获取播放列表中每个音频文件的标签信息。

使用 WMPLib(Windows 媒体播放器 COM 对象)可以让我大部分时间到达那里,但我永远无法获得播放列表中第一项的标签信息。我已经用多个文件尝试过这个,所以这不是一个损坏的标签问题。

这是我的代码:

该工具的输出如下所示:

出于某种原因,track 0 从来没有任何有用的属性。我尝试跳到下一首歌曲,当我这样做时,曲目 0 和曲目 1 都没有任何有用的属性。

我想我在这里遗漏了一些简单的东西。有什么想法吗?

0 投票
3 回答
1947 浏览

c# - Form 1 开始音乐,Form 2 停止

我希望在我的应用程序中制作一个“音乐开/关”按钮。我在 中使用以下代码Form 1,这是我播放音乐的形式:

我希望当我按下按钮时音乐停止Form 2,我尝试了以下代码,但它似乎不起作用:

(此代码用于按钮单击事件。)

这是一个 Windows 窗体应用程序。我正在使用WMPLib. 任何帮助将不胜感激,谢谢。

0 投票
2 回答
1818 浏览

c# - 如何从存储在 C# 项目资源文件夹中的音频文件中提取文件路径

我在提取存储在我的项目资源文件夹中的音频文件的文件目录时遇到问题。在我的项目中,我有一个 mysounds.resx 文件,我在其中添加了一个文件 (abc.mp3)。

在这里,当我在 wplayer.URL 中给出“E:/xyz.mp3”目录时,它可以正常播放。但我想要做的是从存储 abc.mp3 的 mysounds.resx 文件中获取文件路径,并且我想使用 mysounds.resx 文件中的文件路径,而不是任何绝对路径。

有谁能帮助我吗?我的 C# 不是很好。我真的需要解决这个问题。先感谢您。

0 投票
0 回答
233 浏览

c# - 如何像同步方法一样收听mp3文件?

我正在创建一个 C# 应用程序,我需要在其中重现一个 MP3 文件。一旦文件被完全复制(不是之前),我想执行其他方法。

问题在于,由于肯定使用了一个线程来再现声音,因此所有后续操作都会立即执行,而无需等待 mp3 文件的完整再现。

代码是:

因此,当我尝试执行playSound方法时,在第一行,下一条指令在声音结束之前处理。

0 投票
1 回答
412 浏览

c# - Wav files in Windows Media Player queued items not playing correctly at times with C#

I am doing an application which shows tokens on screen like A0001 Counter 1. Each of the tokens "A","0","0","0","0" "Counter" "1" has wav files stored in a folder ENGLISH in my project as A.wav, 0.wav,0.wav etc. Now I'm using wmplib.dll and running vs 2012 on Win 7 64 bit. I tried using single threading like

This code works on Win 7 64 bit perfectly. Now when I try to use it on XP 32 bit the audio sometimes overlaps and sometimes doesn't play. So I used an alternative way using backgroundworker thread. The code is as below.

Issue with this is that the queued items ie. the URL of the files like C:\project path\ENGLISH\A.wav, C:\project path\ENGLISH\0.wav etc. are queued to the queue and then added to Windows Media player playlist. But they are not playing in order and going off sync at times.

0 投票
0 回答
296 浏览

c# - 无法添加对 wmp.dll inc# visual 2010 的引用

我在 C# (Visual 2010) 的程序中使用 WMPlib。我无法引用 wpm.dll。COM 中没有 Windows 媒体播放器或类似的东西,当我浏览到 wmp.dll 时,出现错误“无法添加对 ...wmp.dll 的引用。请.....”几个小时后或谷歌搜索我仍然没有找到好的答案。PS我的wmp.dll不在system32文件夹中,而是在C:\Windows\WinSxS\x86_microsoft-windows-mediaplayer-core_31bf3856ad364e35_6.2.9200.20683_none_089d6f4d399eff17

0 投票
1 回答
1687 浏览

c# - Windows Media Player 的 BackgroundWorker 进程

我需要一些帮助来设置 Windows Media Player 音频的 BackgroundWorker 进程。我需要直接从 BackgroundWorker 运行音频(WMP),而不是从主线程,并且该后台进程需要保持打开状态直到音频文件结束,但即使音频在 PLAY 上开始正常播放,BackgroundWorker 也会停止,因此我认为音频实际上并没有在第二个线程或 backgroundWorker 上播放,因为它已经关闭。

我的问题是,如何使用 Windows Media Player (WMPLib) 从 backgroundWorker 播放此音频文件,该文件将保持打开状态直到歌曲结束?

谢谢。

0 投票
1 回答
1543 浏览

c# - 从媒体播放器控件获取宽度和高度

我有一个 C# 应用程序,它使用 Winforms 中的 Windows Media Player 控件 (WMPLib) 显示视频。

我可以正确显示视频,但我必须手动插入父控件的宽度和高度,这样视频看起来才不会失真。我的用例已经发展到我不再事先知道视频尺寸是多少,因此我需要找到一种方法来获取视频的实际宽度和高度。

我一直在研究是否可以在将视频加载到要播放的播放列表时执行此操作,然后将这些值传递给父控件的 Width 和 Height 参数,但我想不到...

这甚至可能吗?还是只有在播放视频时才能获得该信息?我应该从这里去哪里?

谢谢!