使用MediaFoundationReader和Naudio串流音频

时间:2014-04-08 22:38:13

标签: c# naudio

我正在使用MediaFoundationReader来播放我的程序中的几乎所有格式,但我也读过你能够使用它来播放流。您将如何使用MediaFoundationReader从互联网上读取流?

当我使用URL初始化MediaFoundationReader对象时,我得到以下异常:

System.Runtime.InteropServices.COMException (0xC00D001A): Exception from HRESULT: 0xC00D001A

at NAudio.MediaFoundation.MediaFoundationInterop.MFCreateSourceReaderFromURL(String pwszURL, IMFAttributes pAttributes, IMFSourceReader& ppSourceReader)

at NAudio.Wave.MediaFoundationReader.CreateReader(MediaFoundationReaderSettings settings)

at NAudio.Wave.MediaFoundationReader..ctor(String file, MediaFoundationReaderSettings settings)

at NAudio.Wave.MediaFoundationReader..ctor(String file)

顺便提一下,URL在我的网络浏览器上试用时有效并且有效。

1 个答案:

答案 0 :(得分:0)

您收到的错误是:NS_E_FILE_NOT_FOUND"系统找不到指定的文件。" 因此请检查您的网址格式是否正确。

这是一个使用MediaFoundationReader从网址播放音频的快速代码段:

var url = "http://media.ch9.ms/ch9/2876/fd36ef30-cfd2-4558-8412-3cf7a0852876/AzureWebJobs103.mp3";
using(var mf = new MediaFoundationReader(url))
using(var wo = new WaveOutEvent())
{
    wo.Init(mf);
    wo.Play();
    while (wo.PlaybackState == PlaybackState.Playing)
    {
        Thread.Sleep(1000);
    }
}
相关问题