Как читать битрейт WAV-файла в C #

учитывая, что у меня есть файл .wav, что было бы лучшим способом прочитать его свойство битрейта в C #. Я попробовал Shell и задал вопросЯвляется "Битрейт " свойство зафиксировано в индексе 28? без ответов так. Кроме того, теперь я считаю, что Shell - не лучший способ чтения свойств аудиофайлов. Я исследовал различные библиотеки с открытым исходным кодом, не могу найти много.

TagLib #: Этот работает хорошо, но есть две проблемы. он не отражает фактическую скорость передачи в некоторых случаях, когда скорость передачи очень низкая (например, менее 30), он просто возвращает 0. Во-вторых, я не уверен, что смогу использовать ее для коммерческого использования. Лицензия говоритhttp://opensource.org/licenses/LGPL-2.1

NAudio: Просто не предоставляет никаких свойств для чтения битрейта, поэтому я должен рассчитать его. после исследования я получил эту формулу для расчета скорости передачи. битрейт = Samplerate * Каналы * BitsPerSample. В большинстве случаев это работает нормально, но не работает, если вы получили BitsPerSample = 0 для некоторых файлов .wav. Да, файл абсолютно в порядке, я могу его воспроизвести, но BitsPerSample все равно равно 0.

MediaInfo: опять же, нет прямого свойства, нужно просмотреть все свойства аудиофайла и затем выполнить поиск "общая скорость передачи ", Более того, в проект нужно добавить две библиотеки DLL, одна из них - .net wraper, а другая - настоящая DLL.

Извиняюсь за такое длинное резюме, но я не хотел спрашиватьэй, как я могу получить битрейт аудио файла " не показывая, что я уже сделал. Итак, если у вас есть аудиофайл .wav, какую библиотеку / метод вы бы использовали для получения битрейта?

Ответы на вопрос(2)

Ваш ответ на вопрос