Есть ли портативный, не ограниченный патентом способ воспроизведения сжатых звуковых файлов в C # / .Net? Я хочу проигрывать короткие звуки «джингла» при различных событиях, происходящих в программе.
System.Media.SoundPlayer может обрабатывать только WAV, но они обычно слишком велики, чтобы встраивать их в загружаемое приложение. MP3 защищен патентами, поэтому, даже если бы существовал полностью управляемый декодер / проигрыватель, его нельзя было бы распространять бесплатно. Лучшим доступным форматом может быть OGG Vorbis, но мне не удалось заставить работать какие-либо библиотеки C # Vorbis (мне удалось извлечь необработанный PCM с помощью csvorbis, но потом я не знаю, как в него играть).
Я не хочу распространять какие-либо двоичные файлы с моим приложением и не зависеть от P / Invoke, поскольку проект должен работать как минимум в Windows и Linux. Меня устраивает объединение сборок .Net, если они совместимы с лицензией GPL.
[этот вопрос является продолжением обсуждения в списке рассылки на mono-dev список рассылки год назад]