在 C# 中使用 Windows Media Player 播放声音
Posted
技术标签:
【中文标题】在 C# 中使用 Windows Media Player 播放声音【英文标题】:Using Windows Media Player in C# for sound 【发布时间】:2013-08-29 07:40:12 【问题描述】:所以我浏览了大约 10000 个论坛和帖子,这些帖子和帖子解释了如何在我的 C# 应用程序中使用 WindowsMediaPlayer 来播放声音。
到目前为止我所拥有的是
WMPLib.WindowsMediaPlayer axMusicPlayer = new WMPLib.WindowsMediaPlayer();
string path = Path.GetFullPath("music.mp3");
axMusicPlayer.URL = path;
axMusicPlayer.settings.setMode("loop", true);
axMusicPlayer.controls.play();
现在,根据一百万人的说法,这应该可以工作,但是当我运行应用程序时没有声音,也许我错过了一些东西,但我刚刚达到了这个应用程序的临界点。我知道您可以使用 SoundPlayer,但我将其保留用于音效,这就是我想使用 WindowsMediaPlayer 播放音乐的原因。
【问题讨论】:
如果你使用WPF
,你应该选择MediaElement
,它可以播放Windows Media Player可以播放的各种声音。
您的声卡/耳机/扬声器工作正常吗?
是的,我的声音工作正常,我 100% 确定这一点。
@user2728238 mp3文件在哪里????
感谢 Precious1tj 我进入我的程序并检查了一些东西,结果是 Path.GetFullPath("music.mp3");指向 ...\bin\debug\music.mp3,我假设 Path.GetFullPath 会找到位于 Resource 文件夹中的 music.mp3 文件,现在我已将 music.mp3 文件移动到调试文件夹,什么发生的是音乐播放大约一秒钟然后突然停止。头痛就是不停……
【参考方案1】:
尝试播放.wav
文件。这对我有用。
【讨论】:
【参考方案2】:我认为您应该尝试使用 .. 命令转到文件路径中的父目录。
由于 GetFullPath 的默认路径将您带到 MyProject\bin\Debug 文件夹,因此您需要返回 MyProject
例如:
string path = Path.GetFullPath(@"..\..\music.mp3");
这将带您离开 Debug 和 bin 文件夹,进入项目的主文件夹。
我尝试使用您的解决方案,这对我有用!
【讨论】:
以上是关于在 C# 中使用 Windows Media Player 播放声音的主要内容,如果未能解决你的问题,请参考以下文章
使用C#播放音乐 使用windows media player
C# 从 Windows Media Player 获取当前歌曲源 url
使用 System.Windows.Media.Animation 移动按钮动画
C# WPF 错误 无法将类型"System.Windows.Media.ImageSource"转换为"System.Drawing.Bitmap"