【发布时间】:2022-11-02 23:21:55
【问题描述】:
我有这个网址:https://verses.quran.com/Shuraym/ogg/067001.ogg
我需要在我的 c# WPF 应用程序上播放此音频,而无需下载它。
我一直将它用于带有 mp3 文件扩展名的 url:
// this code use NAudio
using (var mf = new MediaFoundationReader(url))
using (var wo = new WasapiOut())
{
wo.Init(mf);
wo.Play();
PlayingAudioWasapiOut.Add(wo);
while (wo.PlaybackState == PlaybackState.Playing)
{
await Task.Delay(1000);
};
}
我尝试了适用于 mp3 url 的代码,但它不适用于 ogg url(它只是在第 1 行退出该方法而没有任何错误)。 我也试过用这个:
using (var vorbisStream = new NAudio.Vorbis.VorbisWaveReader(url))
using (var waveOut = new NAudio.Wave.WaveOutEvent())
{
waveOut.Init(vorbisStream);
waveOut.Play();
PlayingAudioWaveOutEvent.Add(waveOut);
while (waveOut.PlaybackState == PlaybackState.Playing)
{
await Task.Delay(1000);
}
}
但它不起作用,因为它是为本地文件音频制作的。
【问题讨论】:
-
可以在网址下载文件吗?
-
在我的软件中,您可以下载文件以使其脱机,或者如果您想在计算机上有可用空间,则不下载它。下载文件并读取文件的部分有效,但不是直接从 URL 读取文件的部分。