Есть mp3, который в ресурсах, а не в директории. Сначала старался стандартными средствами System.Media проиграть, но на MSDN написано, что mp3 не будет воспроизводиться. Тогда я решил уже проверенным способом - через WMP, но у него нет возможности проиграть поток (только указывать путь).
Я уже смирился с файлом не в ресурсах, а в директории, заодно стал смотреть примеры на DirectX, но тут другая проблема:
Audio song;
if (a.Music == "Стандартная мелодия")
{
song = new Audio("default_sound.mp3");
} else
{
song = new Audio(a.Music);
}
song.Play();
Этот код приводит к зависанию (но НЕ ошибке!).
Юрий: у меня лишь пример для WAV, ито на VB.NET
но C# для mp3 легко гуглится, вот неопробованный вариант:
MemoryStream mp3file = new MemoryStream(Properties.Resources.MP3file);
Mp3FileReader mp3reader = new Mp3FileReader(mp3file);
var waveOut = new WaveOut(); // or WaveOutEvent()
waveOut.Init(mp3reader);
waveOut.Play();