如何解决如何在不添加任何依赖项的情况下从C#程序播放mp3文件?
| 在C#程序中,我希望允许用户指定要在特定事件中播放的声音文件(wav或mp3)。 使用WAV文件时,我可以使用SoundPlayer
,但是很遗憾,它无法播放其他任何内容(例如MP3)。
现在,我正在寻找一种播放声音文件(wav或mp3)而不添加任何依赖项的方法。
嵌入WMP可以工作,但是有些人会卸载,并且在这种情况下会失败。另外,我认为我必须添加一个附加的DLL文件-我真的很想将我的应用程序保持为单个exe文件,而没有任何其他内容。
解决方法
如果主驱动程序只有一个exe文件,那么您可以考虑使用ILMerge之类的工具(以及更好的UI:NuGenUnify)将依赖文件重新打包到可执行文件中。这将允许您使用可以嵌入到exe中的帮助程序库。
, .NET没有内置的MP3解码器/播放器。您可以使用DirectShow,DirectSound(DirectX的一部分)或MCI(媒体控制接口)播放MP3,其中MCI最简单。
但是,还应注意,打包依赖项(例如,出于许可原因,您想使用特定的MP3编解码器)不一定需要单独的文件。您可能只需要聪明地将它们打包到.exe中即可。
例如,依赖项可以作为嵌入式资源在您的可执行文件内交付,并从ManifestResouceStream加载。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。