是否有一种可移植的,而非专利限制的方式来播放C#/ .Net中的压缩声音文件?我想在节目中发生的各种事件上播放短暂的"叮当"声.
System.Media.SoundPlayer只能处理WAV,但这些通常很大,可嵌入到可下载的应用程序中.MP3受专利保护,因此即使有完全管理的解码器/播放器,它也不能自由重新分配.可用的最佳格式似乎是OGG Vorbis,但我没有运气让任何C#Vorbis库工作(我设法用csvorbis提取原始PCM,但我不知道如何在之后播放它).
我既不想用我的应用程序分发任何二进制文件,也不想依赖于P/Invoke,因为该项目至少应该在Windows和Linux上运行.只要它们与GPL许可兼容,我就可以捆绑.Net程序集.