[英]Playing mp3 file with NAudio
我遵循了NAudio网站上有关如何加载和播放mp3文件的教程,但是即使我将音频文件放在正确的目录中,无论何时运行,程序都会因“ vshost32.exe停止工作”而崩溃。 有任何想法吗? 我在Windows 7上使用Visual Studio 10.0。
这是本教程给我的(精确)代码:
namespace NAudioTest
{
class Program
{
static IWavePlayer waveOutDevice;
static WaveStream mainOutputStream;
static WaveChannel32 volumeStream;
static void Main(string[] args)
{
waveOutDevice = new WaveOut();
mainOutputStream = CreateInputStream("Kalimba.mp3");
waveOutDevice.Init(mainOutputStream);
waveOutDevice.Play();
}
private static WaveStream CreateInputStream(string filename)
{
WaveChannel32 inputStream;
if (filename.EndsWith(".mp3"))
{
WaveStream mp3Reader = new Mp3FileReader(filename);
inputStream = new WaveChannel32(mp3Reader);
}
else
{
throw new InvalidOperationException("Unsupported extension");
}
volumeStream = inputStream;
return volumeStream;
}
}
}
(对不起,格式不正确)
没关系,使用此代码可以使音频文件正常工作:
class Program
{
static void Main()
{
using (var rdr = new Mp3FileReader(filename))
using (var waveOut = new WaveOut(WaveCallbackInfo.FunctionCallback()))
{
waveOut.Play();
while (waveOut.PlaybackState == PlaybackState.Playing)
{
Thread.Sleep(100);
}
}
}
}
这是否更好? 尽管我不太确定WaveOutEvent的去向。 感谢您所有的帮助!!
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.