Entwickler-Ecke

Sonstiges (Delphi) - Brennen von CDs


Hoffensterchen - Sa 04.06.11 20:17
Titel: Brennen von CDs
Für eine gute Freundin, die überhaupt keine Ahnung von PCs hat (und vermutlich auch garnicht haben will), habe ich auf ihrem Notebook, das sie beruflich benötigt, ein paar MP3s untergebracht. Nach (gefühlten) sieben Jahren bin ich geneigt, Ihre Erkenntnis "Aha, wenn ich doppelt klicke, wird das also abgespielt. Und was war nochmal eine 'Playlist'? Und wie kann ich das im Auto hören?" als den Gipfel ihrer Computer-Kompetenz zu betrachten. Es hat keinen Zweck: WinAMP überfordert sie komplett, von Nero (für eine MP3-CD fürs Auto) ganz zu schweigen.
Ich habe deshalb mit Plan B begonnen: Eine Playersoftware, mit der sie Listen anlegen, Song bewerten oder löschen und für den Hausputz aus ihren Lieblingsliedern eine zufällig erzeugte Radio-Simulation einstellen kann.
Funktioniert soweit zufriedenstellend, sie kommt gut damit klar und Kleinigkeiten sind schnell eingebastelt.

Ein Problem bleibt: Ich würde Ihr gerne einen Button einbasteln, der die Titel einer Ihrer Listen als MP3s auf eine CD brennt (richtig: für's Auto :o ). Und da benötige ich Eure Hilfe: Ich habe mal vor tausend Jahren irgendwo eine Unit gesaugt, die es ermöglicht, bei MP3-Dateien die ID3-Tags zu editieren. Der MP3-CD-Player in Ihrem Auto spielt die Songs nicht alphabetisch ab, sondern nach den Track-Nummern.
Viel gravierender: Wie bekomme ich die Songs dann möglichst elegant (=wenig erklärungsbedüftig) auf Rohlinge? Ich möchte Ihr empfehlen, RW-Medien zuverwenden, damit nicht irgendwann hunderttausend unbeschriftete MP3-CDs bei ihr 'rumfliegen (keine Befürchtung, sondern eine verläßliche Prognose... :wink:). Dazu müßte mein Programm dann irgendwie erkennen können, ob es ein R- oder RW-Rohling ist und, falls RW, ob leer oder ob er vorher gelöscht werden muss.

Gibt es also Units/Komponenten/Fliegende Teppiche, die solch eine Brennfunktionalität liefern? Oder kann man auf die Windows-Brennfunktion zugreifen?

Ich habe in diesem Bereich bislang keine praktischen Erfahrungen, freue mich also über jeden Hinweis!

Möge der Spock mit Euch sein. Und zwar long und prosper!

Thorsten


Hoffensterchen - Mo 06.06.11 13:09

Hab über's WE mal a weng geforscht, allerdings bin ich noch nicht nennenswert schlauer geworden. Während die ID3-Tags nah alter Manier am Ende einer MP3 ab dem Schlüssel TAG immer die gleiche Größe (=dieselben Offstes) haben, komme ich mit der neuen Version einfach nicht klar: Hier werden die Daten an den Anfang der Datei geschrieben, aber ich kapiere nicht, wie die einzelnen Datenwert und größen kodiert werden.
Und was das Brennen aus Delphi heraus angeht: Ich bin planlos wie bisher.

Irgendwer 'nen Funken...?

Dackel-Augenaufschlag
Thorsten


Gausi - Mo 06.06.11 13:17

Zum Brennen kann ich nichts sagen. Und das Thema ID3-tags wäre wohl was für ein neues Topic, sonst geht das hier durcheinander.

Aber zwei Links sind hier wohl noch ok: Dokumentation zu ID3-Tags [http://www.id3.org], und Mp3fileUtils [http://www.delphi-forum.de/viewtopic.php?t=51410], eine Unit zum Auslesen und Bearbeiten der Tags. Weiteres dazu aber bitte in einem neuen Topic - hier sollte es dann nur um das Brennen gehen. :D


MDX - Mo 06.06.11 13:18

Ich selber habe mich zwar noch nie damit beschäftigt, jedoch könntest du dir das hier mal anschauen:
http://www.delphipraxis.net/1673-cds-brennen.html bzw http://sourceforge.net/projects/delphineroapi/ (dafür brauchst du jedoch ein installiertes NERO auf dem PC...)

Und bezüglich der ID3-Tags hat Gausi hier [http://www.delphi-forum.de/viewtopic.php?t=51410] eine Unit veröffentlicht.

Edit:
Zu langsam :D


Hoffensterchen - Mo 06.06.11 13:38

Und siehe, es ward Licht... :idea:

Ich denke, ID3 kann als geklärt betrachtet werden. Erstens war es ja "nur" ein Folgeproblem (nur WENN ich eine Brennfunktionalität realisiere, müssen die gebrannten MP3-Files auf die gewünschte Reihenfolge getaggt werden - der Player braucht keine, weil die Songs und Interpreten sicht über den Dateinamen identifizieren), zweitens verbirgt sich hinter den obigen Linke ein Quell der Aufklärung: Dicker Dank an Gausi und MDX!

Zum Brennen werde ich mal mit der NeroAPI experimentieren. Problemorientiert betrachtet keine Problem, ich habe Nero und sie auch. Mal sehen.

Vielen Dank erstmal!

Thorsten


Gerd Kayser - Mo 06.06.11 14:17

user profile iconHoffensterchen hat folgendes geschrieben Zum zitierten Posting springen:
Zum Brennen werde ich mal mit der NeroAPI experimentieren.

Die Nero-API und das dazu gehörige SDK sind aber älteren Datums (2003 oder 2004).
Das Konsolenprogramm NeroCmd.exe (im Nero-Verzeichnis) könnte eine Alternative sein. Einfach mal das Programm aufrufen und die gezeigte Hilfe durchlesen, um die erwarteten Parameter zu studieren. Dann könnte man das Brennen auch mit diesem Programm realisieren.


MDX - Mo 06.06.11 14:28

user profile iconGerd Kayser hat folgendes geschrieben Zum zitierten Posting springen:
Die Nero-API und das dazu gehörige SDK sind aber älteren Datums (2003 oder 2004).


Wobei das wenn es um einen einfachen Brennvorgang geht, nicht sonderlich relevant sein dürfte :wink: