• Twitter
  • Linkedin
  • GitHub
  • Facebook
  • Instagram

MP3 Database

Inhaltsverzeichnis

  • Intro
  • Vorbereitungen
  • ID3v1 Tags
  • ID3v2 Tags
  • MP3 Header
  • ID3 Klasse
  • Datenbank Schema
  • Datenbank Proxy Klasse
  • Hauptfenster
  • ASP .Net Webinterface

Intro

Mein erstes VisualStudio 2005 Projekt besteht daraus mittels .NET die ID3 Tags von MP3 Dateien auszulesen und in einer MSSQL Datenbank zu speichern.

Das Konzept sah eine Klasse zum Auslesen der Tags vor, eine Klasse für den DB Zugriff und ein Programmfenster zur bedienung der Aktivitäten sowie ein ASP.Net Interface zum Abfragen der Datenbank.

Zurück zum Inhalt


Vorbereitungen

Um die Software nutzen zu können, benötigt man das .NET Framework Version 2.0 Redistributable Package Beta 2 und eine MDSE.

Zurück zum Inhalt


ID3v1

Bei ID3v1.1 enthalten die letzten 128 Bytes die ID3 Tags. Da alle Felder feste längen haben und an einem definierten Ort stehen kein Problem diese auszulesen.

Tag Header3 Bytes (TAG)
Song title30 characters
Artist30 characters
Album30 characters
Year4 characters
Comment28 characters gefolgt von einem NULL Byte
Track1 Byte
Genre1 Byte

Referenz: http://www.id3.org/id3v1.html

Zurück zum Inhalt


ID3v2

Das ID3v2 Tag befindet sich am Anfang der Datei und die ersten 3 Bytes sind TAG. Da aber die FrameIDs in beliebiger Reihenfolge auftauchen können, ist die Programmierung hier etwas schwieriger.

ID3v2 Tag
ID3 Header 10 BytesFrame Header 10 BytesFrame Information
TAGVersionFlagsSize FrameIDSizeFlags Text
xx xx xxxx xxxxxx xx xx xx xx xx xx xxxx xx xx xxxx xx n * xx

Zudem ist der Text in ISO 8859-1 oder Unicode UTF-16 codiert.
ASCII und ISO 8859-1 sind Bestandteile (Teilmengen) von Unicode:
(Vollständige Übersicht: http://www.unicode.org/charts/)

UTF-16
FE FFbig-endian (Motorola, PowerPC)
FF FElittle-endian (Intel)

Erstes Zeichen ist xFEFF (ZERO WIDTH NO-BREAK SPACE), das als "Byte Order Mark" – BOM fungiert.

Die wichtigsten FrameIDs
TRCKTrackNo
TPE1Artist
TIT2Titel
TALBAlbum
TYERJahr
TCONGenre
COMMKommentar

Referenz: http://www.id3.org/id3v2.3.0.html

Zurück zum Inhalt


MP3 Header

MP3 Header

OffSet Bits Beschreibung
0 12 SyncWord
12 1 MPEG Version
13 2 MPEG Layer
15 1 Protection Bit
16 4 Bitrate
20 2 Sampling Frequenz
22 1 Padding Bit
23 1 Private Bit
24 2 Mode
26 2 Mode Extension
28 1 Copyright
29 1 Original Home
30 2 Emphasis

Referenz: http://sites.inka.de/sites/plagiats-home/mp3-header.html

Zurück zum Inhalt


ID3 Klasse

So sieht die ID3 Klasse dann aus
ID3 Klasse

Zurück zum Inhalt


Datenbankschema

Hier das Datenbankschema

Zurück zum Inhalt


DB Proxy Klasse

Um eine einzige Schnittstelle zwischen Programm und DB zu haben, habe ich eine Klasse geschrieben, welche den Datenbankzugriff erledigt.

Diese Klasse besitzt auch Methoden zum erstellen der Datenbank und das aktualisieren der Daten.

Durch das komplexere normalisierte Design der Datenbankstrucktur, habe ich den Weg via Stored Procedures gewählt um Werte in die DB zu übertragen.

Zurück zum Inhalt


Hauptfenster

Das Hauptfenster des Programms

Zurück zum Inhalt


ASP .Net Webinterface

Das Webinterface

Menu

  • Home
  • News
  • Produkte
    • boz
    • dirsize
    • icfinder
    • netplore
    • notes
    • wecker
    • winschema
    • mp3 DB
  • Services
    • Adressen
    • Kalender
    • SMS
    • Sport
    • URL
  • Impressum
  • Aboutme
  • Blog

© 2025 Icewolf