我想在我的C#应用程序中播放MP3流。我有一个服务器应用程序捕获波形音频并将其转换为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);
}
}
}
答案 0 :(得分:1)
答案 1 :(得分:1)
我在我的博客上发布了一篇文章,解释how to play back an MP3 stream using NAudio。基本上你有一个线程下载MP3帧,解压缩并存储在BufferedWaveProvider
。然后另一个线程使用BufferedWaveProvider
作为输入进行回放。