Отказ от ответственности: моя ясность в отношении Naudio и потоков минимальна.Из того, что я понимаю из документации Naudio, MP3FileReader не принимает поток без возможности поиска, а ресурсы, извлекаемые из HTTP, не имеют длины.
Существует один пример кода, в котором автор извлекает mp3 из URL с помощью MediaFoundationReader, но тот женабор операций (MP3FileReader) Я не могу сделать в этом классе.Как продолжить об этом.
using (MemoryStream output = new MemoryStream()) {
foreach (string file in uuidList) {
using (Stream inputStream = WebRequest.Create(file).GetResponse().GetResponseStream()) {
Mp3FileReader reader = new Mp3FileReader(file);
if ((output.Position == 0) && (reader.Id3v2Tag != null)) {
output.Write(reader.Id3v2Tag.RawData, 0, reader.Id3v2Tag.RawData.Length);
}
Mp3Frame frame;
while ((frame = reader.ReadNextFrame()) != null) {
output.Write(frame.RawData, 0, frame.RawData.Length);
}
}
}
binaryData = output.ToArray();
}
response.BinaryWrite(binaryData);
HttpContext.Current.ApplicationInstance.CompleteRequest();