0

Я читаю длину mp3-файлов, используя NAdutio.dll. используемым мной образцом кода является here. приложение, которое я создал, представляет собой автономное настольное приложение, встроенное в C# 4.0 и используемое в сети компьютеров, все с операционными системами Windows Server 2008. и на любом из этих компьютеров не установлен медиаплеер. когда я запускаю приложение на своей локальной машине, он возвращает длину mp3-файлов правильно, но когда он запускается на любом ПК в этой сети, он возвращает ноль для каждого файла. кажется, что NAudio.dll сам использует wmp.dll для чтения звука. но я не могу установить медиаплеер или не могу разместить DLL на каждом из этих компьютеров. есть ли способ, которым я могу исправить эту проблему с dll какой-нибудь работой в установщике или коде? любой, пожалуйста, помогите мне.Чтение Mp3-файла с использованием NAudio.dll на сервере Windows 2008 r2, когда медиа-плеер не установлен


Заранее спасибо

+1

NAudio не использует WMP, он использует ACM MP3-декодер. Чтобы получить это на Windows Server 2008, вам необходимо установить компонент Windows «рабочий стол». Или вам понадобится использовать полностью управляемый MP3-декодер, такой как рекомендованный ioctlLR. –

ответ

1

Попробуйте NLayer прочитать файл. Реализация MpegFile последней версии должна предоставить вам информацию о длине. Просто прочитайте .Length и разделите на .Channels * 4 (.Length - это байты, а образцы - в 32-битном поплавком формате).

Обращаем внимание, что:: Я поместил много работы в эту библиотеку, поэтому пока я не являюсь сопровождающим, это один из моих проектов.

+0

Сколько я должен ждать этого релиза? –

+0

В настоящее время этого нет, и я не знаю, когда Марк собирается это сделать. Лучше всего просто вытащить исходный код и построить его самостоятельно. – ioctlLR

+0

Да, код в настоящий момент стабилен, поэтому просто создайте источник. Попытаться выпустить релиз в конце этого года, но сейчас много идет, поэтому нет времени для работы над NLayer –