Как воспроизвести поток MP3 в C # - PullRequest
3 голосов
/ 01 марта 2011

Я хочу воспроизвести поток MP3 в моем приложении C #. У меня есть серверное приложение, которое захватывает звуковое аудио и конвертирует его в MP3, а затем записывает в сетевой поток Затем клиент читает этот поток для воспроизведения MP3. Я пробовал NAudio со следующим примером кода, но это приводит к исключению:

using (WaveStream blockAlignedStream =
                new BlockAlignReductionStream(
                    WaveFormatConversionStream.CreatePcmStream(
                        new Mp3FileReader(ms))))
            {
                using (WaveOut waveOut = new WaveOut(WaveCallbackInfo.FunctionCallback()))
                {
                    waveOut.Init(blockAlignedStream);
                    waveOut.Play();                        
                    while (waveOut.PlaybackState == PlaybackState.Playing )                        
                    {
                        System.Threading.Thread.Sleep(100);
                    }
                }
            }

Ответы [ 2 ]

1 голос
/ 04 мая 2011

Я разместил в своем блоге статью, объясняющую , как воспроизводить поток MP3 с помощью NAudio .По сути, у вас есть один поток, загружающий фреймы MP3, распаковывающий их и сохраняющий их в BufferedWaveProvider.Затем другой поток воспроизводит, используя BufferedWaveProvider в качестве входа.

1 голос
/ 01 марта 2011

http://www.un4seen.com/

bass.dll .NET api

Я знаю, что это не ответ на ваш код, а хорошая музыкальная библиотека

...