【问题标题】:COMException while using MediaFoundationReader使用 MediaFoundationReader 时出现 COMException
【发布时间】:2014-10-11 16:24:13
【问题描述】:

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

【问题讨论】:

    标签: audio com naudio ms-media-foundation flac


    【解决方案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,这意味着您的应用程序是使用与您系统上的媒体基础 DLL 不匹配的媒体基础标头版本编译的。

    问题应该与 Media Foundation 初始化有关,如果你没有明确地这样做,那么 NAudio 可能会以某种方式不正确(或过早取消初始化)。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-01-29
      • 1970-01-01
      • 1970-01-01
      • 2018-08-25
      • 1970-01-01
      • 1970-01-01
      • 2016-08-22
      • 1970-01-01
      相关资源
      最近更新 更多