如何在不添加任何依赖项的情况下播放C#程序中的mp3文件?

如何在不添加任何依赖项的情况下播放C#程序中的mp3文件?,c#,audio,mp3,C#,Audio,Mp3,在C#程序中,我希望允许用户指定在特定事件中播放的声音文件(wav或mp3) 对于WAV文件,我可以使用SoundPlayer,但不幸的是,它不能播放任何其他内容(例如MP3) 现在,我正在寻找一种方法来播放声音文件-wav或mp3-而不添加任何依赖项 嵌入WMP是可行的,但是有些人卸载了它,在这种情况下它会失败。此外,我认为我必须添加一个额外的DLL文件,我真的希望我的应用程序作为一个exe文件保存,而不需要任何额外的东西。.NET没有内置的MP3解码器/播放器。您可以通过使用DirectSh

在C#程序中,我希望允许用户指定在特定事件中播放的声音文件(wav或mp3)

对于WAV文件,我可以使用
SoundPlayer
,但不幸的是,它不能播放任何其他内容(例如MP3)

现在,我正在寻找一种方法来播放声音文件-wav或mp3-而不添加任何依赖项


嵌入WMP是可行的,但是有些人卸载了它,在这种情况下它会失败。此外,我认为我必须添加一个额外的DLL文件,我真的希望我的应用程序作为一个exe文件保存,而不需要任何额外的东西。

.NET没有内置的MP3解码器/播放器。您可以通过使用DirectShow、DirectSound(DirectX的一部分)或MCI(媒体控制接口)播放MP3

但是,还应该注意,打包依赖项(例如,出于许可原因,您希望使用特定的MP3编解码器)不一定需要单独的文件。您可能需要聪明地将它们打包到.exe中


例如,依赖项可以作为可执行文件中的嵌入式资源传递,并从.< /p>< P>加载。如果主驱动程序有一个EXE文件,那么您可以考虑将依赖文件重新打包成可执行文件,使用像ILMerge这样的工具(以及它的一个更好的UI:NuGenUnify)。这将允许您使用可以嵌入exe的帮助程序库

是的,如果有一个纯.NET库来播放,ILMerge将是一个选项。你知道这样一个免费的图书馆吗?