我正在尝试使用NAudio和MS Media Foundation编解码器播放.flac音乐文件。但是每当歌曲结束或者接近尾声时,它都会抛出异常。有什么方法可以解决它或任何其他方式如何发挥flacs?
抛出异常
System.Runtime.InteropServices.COMException(0xC00D36E3):来自HRESULT的异常:0xC00D36E3
加载和播放音乐的代码
readerStream = new MediaFoundationReader(FilePath);
waveChannel = new WaveChannel32(readerStream);
readerStream = new DSPEffectStream(waveChannel, m_eqEffect);
postVolumeMeter = new MeteringSampleProvider(readerStream.ToSampleProvider());
waveOutDevice.Init(postVolumeMeter, true);
waveOutDevice.Play();
我发现有些人有类似的问题,但没有答案如何解决它。 Discussion link
答案 0 :(得分:1)
0xC00D36E3为MF_E_BAD_STARTUP_VERSION
"You are calling MFStartup with the wrong MF_VERSION. Mismatched bits?"。反过来means:
如果MFStartup返回MF_E_BAD_STARTUP_VERSION,则表示您的应用程序是使用与您系统上的Media Foundation DLL不匹配的Media Foundation标头版本编译的。
这个问题应该与Media Foundation初始化有关,而且你没有明确地做到这一点,那么NAudio应该以某种方式错误地进行(或者过早地进行未初始化)。