Wie man die Bitrate der .wav-Datei in C # liest

vorausgesetzt, ich habe eine WAV-Datei, was wäre der beste Weg, um seine Bitrate-Eigenschaft in C # zu lesen. Ich habe Shell ausprobiert und eine Frage gestelltIst die Eigenschaft "Bitrate" in Index 28 festgelegt? ohne antwort also für. Außerdem bin ich jetzt der Meinung, dass Shell nicht der beste Weg ist, die Eigenschaften von Audiodateien zu lesen. Ich habe in verschiedenen Open-Source-Medienbibliotheken recherchiert und kann nicht viel finden.

TagLib #: Dieser funktioniert in Ordnung, hat aber zwei Probleme. In einigen Fällen, in denen die Bitrate sehr niedrig ist (z. B. unter 30), gibt es keine tatsächliche Bitrate wieder. Zweitens bin ich nicht sicher, ob ich sie für kommerzielle Zwecke verwenden kann. Die Lizenz sagthttp://opensource.org/licenses/LGPL-2.1

NAudio: Stellt einfach keine Eigenschaft zum Lesen der Bitrate zur Verfügung, daher muss ich sie berechnen. nach recherche habe ich diese formel bekommen um die bitrate zu berechnen. Bitrate = Samplerate * Channels * BitsPerSample. Dies funktioniert in den meisten Fällen einwandfrei, schlägt jedoch fehl, wenn für einige WAV-Dateien BitsPerSample = 0 angegeben wurde. Ja, die Datei ist absolut in Ordnung, ich kann sie abspielen, aber BitsPerSample ist immer noch 0.

MediaInfo: wieder keine direkte Eigenschaft, muss alle Eigenschaften der Audiodatei durchlaufen und dann nach "Gesamtbitrate" suchen. Außerdem müssen zwei DLLs im Projekt hinzugefügt werden, eine ist .NET Wraper und die andere ist die tatsächliche DLL.

Ich entschuldige mich für eine so lange Zusammenfassung, aber ich wollte nicht fragen, wie ich die Bitrate von Audiodateien erhalten soll, ohne zu zeigen, was ich bereits getan habe. Also, wenn Sie eine .wav-Audiodatei haben, welche Bibliothek / Methode würden Sie verwenden, um die Bitrate zu erhalten?

Antworten auf die Frage(2)

Ihre Antwort auf die Frage