0

我正在尝试使用 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();

我发现一些人有类似的问题,但没有答案如何解决它。讨论链接

4

1 回答 1

1

0xC00D36E3 是MF_E_BAD_STARTUP_VERSION“您使用错误的 MF_VERSION 调用 MFStartup。位不匹配?” . 这又意味着

如果 MFStartup 返回 MF_E_BAD_STARTUP_VERSION,这意味着您的应用程序是使用与系统上的媒体基础 DLL 不匹配的媒体基础头版本编译的。

问题应该与媒体基金会初始化有关,如果你没有明确地这样做,那么 NAudio 可能会以某种方式错误地执行(或过早地取消初始化)。

于 2014-10-11T16:35:15.213 回答