NAudio - MediaFoundationReader:构造函数不接受传递的m4a-URL(来自youtube-Link)

PHi*_*rth 5 c# naudio ms-media-foundation

我正在尝试使用URL直接从互联网播放M4A(MP4音频)文件.
我正在使用带有MediaFoundation的NAudio来实现这个目的:

using (var reader = new MediaFoundationReader(audioUrl)) //exception
using (var wave = new WaveOutEvent())
{
    wave.Init(reader);
    wave.Play();
}
Run Code Online (Sandbox Code Playgroud)

这适用于Windows 8.1和Windows 10的两个测试系统.但是在我的Windows 7机器上它无法工作,我从MediaFoundationReader构造函数中获得异常.
最初,我得到了一个ArgumentOutOfRangeException.我测试了在WMP中播放这个m4a文件,它也无法播放它.我下载了一个编解码器包并安装了它.这有助于WMP,但我的代码仍然抛出异常,尽管另一个:

NAudio.dll中发生了未经检查的"System.Runtime.InteropServices.COMException"类型的异常

附加信息:有更多可用数据.(HRESULT异常:0x800700EA)

什么可能导致这个以及我如何解决它?

Ema*_*ola 0

有时用户没有足够的权限来运行 COM 方法。

尝试以管理员身份运行该应用程序。