Wie kann ich feststellen, dass eine bestimmte Datei tatsächlich eine MP3-Datei ist?

7

Wie kann ich feststellen, dass eine bestimmte Datei (die eine Dateierweiterung ".mp3" haben kann oder nicht) tatsächlich eine MP3-Datei ist? Ich möchte dies in C # tun.

    
user922907 04.09.2011, 22:08
quelle

5 Antworten

5
  1. Verwenden der Dateierweiterung ist nicht zuverlässig.
  2. Die beste Bibliothek, die Sie verwenden können, ist Ссылка , sie erkennt die meisten gebräuchlichen Dateitypen. Vielleicht willst du einfach mp3, also kannst du jede mp3-bezogene Klasse extrahieren.
  3. Eine einfachere Bibliothek, die Sie verwenden können, ist Ссылка
unruledboy 05.09.2011, 02:55
quelle
14

Laut Ссылка beginnt eine MP3-Datei immer mit ID3 (hex 49 44 33) Diese Bytes bedeuten nur, dass die Datei mit ID3-Informationen gekennzeichnet ist. Wenn diese Signatur nicht gefunden wird, könnte es sich um eine nicht markierte MP3-Datei handeln. Um das herauszufinden, schau dir die MP3-Dateistruktur an und du wirst sehen, dass ein mp3-Frame mit der Signatur ff beginnt fb (hex).

Also:

  • wenn die Datei mit hex 49 44 33 beginnt

oder

  • wenn die Datei mit hex ff fb beginnt

Es ist sicher anzunehmen, dass es ein MP3 ist.

    
fvu 04.09.2011 22:19
quelle
5

Dateien beginnen oft mit einer "magischen Zahl", um das Datenformat zu identifizieren. Je nach Format beginnt eine Datei mit einer bestimmten Bytefolge, die für dieses Format eindeutig ist. Es gibt keinen Standard zu folgen, so dass es nicht 100% zuverlässig ist.

Wie fvu sagt, ist die magische Zahl der mp3 0x49 0x44 0x33

    
Rob Agar 04.09.2011 22:18
quelle
1
%Vor%     
Sam Casil 05.09.2011 02:33
quelle
-2

C # -Code:

%Vor%     
HexBrowser 02.06.2013 06:01
quelle

Tags und Links