C# 再次播放时NAudio生成错误(第二次及以后)
第一次单击“播放”按钮时,一切正常,但下一次它在此行中生成错误时:C# 再次播放时NAudio生成错误(第二次及以后),c#,.net,winforms,com,naudio,C#,.net,Winforms,Com,Naudio,第一次单击“播放”按钮时,一切正常,但下一次它在此行中生成错误时: waveOutDevice.Init(mainOutputStream); 有关错误的详细信息,请参见屏幕截图。以下是我的代码部分: private void Play() { string audioFile = "temp.mp3"; try { if (mainOutputStream != null)
waveOutDevice.Init(mainOutputStream);
有关错误的详细信息,请参见屏幕截图。以下是我的代码部分:
private void Play()
{
string audioFile = "temp.mp3";
try
{
if (mainOutputStream != null)
mainOutputStream = null;
mainOutputStream = CreateInputStream(audioFile);
}
catch (Exception exc)
{
MessageBox.Show(exc.Message);
}
if (mainOutputStream != null)
{
waveOutDevice.Init(mainOutputStream);
waveOutDevice.Play();
}
else
{
return;
}
}
错误代码为:-2004287486
目标站点是:{Void ThrowExceptionForHRInternal(Int32,IntPtr)}
所有这些都超出了我的理解范围,所以请帮助我指出错误的位置,并进行一些解释(如果可能的话),当然还有针对这种情况的解决方法。谢谢
更新:
谢谢你的回复。我也试过了,但还是一样的问题。该文件将再次播放,但延迟一段时间后该错误消息仍会出现。有时,整个应用程序关闭几秒钟后会出现错误消息。而且它出现了很多次,一次又一次,可能每次播放文件时都会出现一次。错误代码为0x8889002(),这表明旧的输出设备没有正确处理。确保处置WaveOut设备,并为下一次播放创建一个新设备