Я хотел бы знать, как я могу эффективно читать локальные mp3-файлы с помощью NAudio?
Я пробовал несколько способов читать mp3 и воспроизводить его с помощью WaveOut
, но это очень медленно.
Для моего текущего теста я взял несколько файлов mp3 с размером файлов от 80 до 180 МБ.
Сначала я использовал Mp3FileReader
:Медленное чтение mp3-файлов с NAudio
myWaveOut.Init(new Mp3FileReader("test.mp3"));
Тогда я использовал FileStream
и передал его в Mp3FileReader
.
FileStream stream = File.OpenRead("test.mp3");
myWaveOut.Init(new Mp3FileReader(stream));
Те же проблемы ...
Далее я использовал variatons этих (например, различных размеров буфера/читателей).
Я проверил своего диспетчера задач, и каждый раз, когда я читал файл, кажется, что читатель читает весь файл перед его воспроизведением. Например. для воспроизведения одного из моих файлов потребовалось 10-20 секунд. По словам моего диспетчера задач, файл был загружен с 5,6 до 6,5 МБ/с за это время. Таким образом, за этот период весь файл мог быть загружен.
Я делаю что-то неправильно?
Есть ли более эффективные способы загрузки больших файлов и их потока?
Чтобы добавить к этому: читатель WM ASF также известен тем, что читает файлы MP3: еще один вариант на выбор, когда дело доходит до стандартных предложений. –
Да, это хорошо работает. больше не жду :) спасибо – TorbenJ