этот вопрос вытекает из моей предыдущей темы
Воспроизведение mp3 из Интернета без FileOpenDialog
Я действительно надеюсь, что кто-нибудь знает об этом. Мне сказали использовать WebRequest для запуска потока загрузки, а затем воспроизводить поток вместо воспроизведения локально сохраненного файла.
Тем не менее, попытка использовать код из PlayMp3FromUrl дает мне эту ошибку:
"NAudio.Wave.WaveOut" не содержит конструктор, который принимает аргументы "3" "
Компиляция ошибок в этой строке:
using (WaveOut waveOut = new WaveOut(0, 500, null))
Это полный код:
public static void PlayMp3FromUrl(string url)
{
using (MemoryStream ms = new MemoryStream())
{
using (Stream stream = WebRequest.Create(url)
.GetResponse().GetResponseStream())
{
byte[] buffer = new byte[32768];
int read;
while ((read = stream.Read(buffer, 0, buffer.Length)) > 0)
{
ms.Write(buffer, 0, read);
}
}
ms.Position = 0;
using (WaveStream blockAlignedStream =
new BlockAlignReductionStream(
WaveFormatConversionStream.CreatePcmStream(
new Mp3FileReader(ms))))
{
using (WaveOut waveOut = new WaveOut(0, 500, null))
{
waveOut.Init(blockAlignedStream);
waveOut.Play();
while (blockAlignedStream.Position < blockAlignedStream.Length)
{
System.Threading.Thread.Sleep(100);
}
}
}
}
}
Может ли кто-нибудь помочь мне выяснить, какие аргументы принимает WaveOut?
Редактировать: Вы, вероятно, хотите посмотреть на WaveOut.cs, и он довольно длинный.
Так что просто посмотрите на это здесь WaveOut.cs