Как играть .mp3 файл от ресурсов в C#?

Я поместил music.mp3 в ресурсы, и затем я добавил Windows Media Player к ссылкам. Я написал этот код:

WindowsMediaPlayer wmp = new WindowsMediaPlayer();
            wmp.URL = "music.mp3";
            wmp.controls.play();

Это не работает. Как я могу играть .mp3 файл от ресурсов?

7
задан carck3r 26 July 2010 в 17:02
поделиться

2 ответа

Я сделал это:

WindowsMediaPlayer wmp = new WindowsMediaPlayer();
        Stream stream = Assembly.GetExecutingAssembly().GetManifestResourceStream("PostGen.Resources.Kalimba.mp3");
        using (Stream output = new FileStream ("C:\\temp.mp3", FileMode.Create))
        {
            byte[] buffer = new byte[32*1024];
            int read;

            while ( (read= stream.Read(buffer, 0, buffer.Length)) > 0)
            {
                output.Write(buffer, 0, read);
            }
        }
        wmp.URL = "C:\\temp.mp3";
        wmp.controls.play();

Мы должны удалить этот временный файл:

private void Form1_FormClosing(object sender, FormClosingEventArgs e)
    {
        File.Delete("C:\\temp.mp3");
    }
6
ответ дан 7 December 2019 в 05:16
поделиться

Я обернул библиотеку mp3-декодера и сделал ее доступной для разработчиков .net. Вы можете найти его здесь:

http://sourceforge.net/projects/mpg123net/

Включены образцы для преобразования файлов mp3 в PCM и чтения тегов ID3.

Прочтите свой ресурс, преобразуйте его в PCM и выведите в класс waveOut, который доступен как компонент взаимодействия .NET. Нет необходимости создавать временные файлы.

классы waveOut доступны также на sourceforge:

http://windowsmedianet.sourceforge.net/

2
ответ дан 7 December 2019 в 05:16
поделиться
Другие вопросы по тегам:

Похожие вопросы: