![]() |
2 Fragen zu Mp3
Hallo,
da ich leider in diesem Gebiet ein Anfänger bin, frage ich euch nun um Hilfe, nachdem ich bei der Suche nichts passendes gefunden habe. Ich habe vor ein Programm zu schrieben welches 2 Sachen machen könnte: 1. Man sollte 4 MP3 Dateien wählen können und dann sollten diese 4 verbunden werden und zu einer gemacht werden. Nacheinander halt. 2. Man sollte evtl. noch eine Hintergrund MP3 wählen können, welche dann im Hintergrund von der anderen MP3 Datei mitspielt. Ich hoffe, dass man soetwas mit Delphi umsetzen kann und freue mich schon jetzt auf eure Hilfe. |
Re: 2 Fragen zu Mp3
Such mal im Forum nach "Bass" / BassPlayer da gibts ne komponente für MP3
|
Re: 2 Fragen zu Mp3
Wenn die 4 Einzel-Mp3s nur Musik enthalten, eine konstante Bitrate haben, und keine weiteren Informationen (auch keine ID3-Tags!), dann kann man sie einfach ineinanderkopieren. Also einen großen Filestream, und die vier Dateien nacheinander da rüberkopieren.
Sind doch ID3-Tags (oder andere Tags oder Header vorhanden), wirds etwas komplizierter. Die sicherste Möglichkeit wäre dann, die einzelnen MPEG-Frames in den vier Dateien in eine neue zu kopieren. Ich hatte mal ein Programm, was in einer MP3-Datei die Frames auseinanderfriemelt, aber da ist der Code verlorengegangen. Ich weiß nur noch, dass ein wichtiger Bestandteil die Funktion GetFrameLength aus meinen ![]() Wenn die MP3s auch noch variable Bitrate haben, wirds noch ein bißchen komplizierter, da diese noch einen Xing-Header haben, den ich zwar lesen und teilweise auswerten kann, aber mich noch nicht damit beschäftigt habe, einen neuen zu schreiben. Zwar ist dieser nur optional, aber VBR-Dateien ohne diesen Header mag ich persönlich gar nicht (bzw. meine Unit mag die nicht) ;-) Hintergrundmusik mit reinzukopieren dürfte direkt nicht möglich sein - da hilft nur ein dekodieren, zusammenfügen der beiden Dateien wie in einem Wave-Editor und anschließendes neues kodieren. Mit der ![]() |
Re: 2 Fragen zu Mp3
Zitat:
Zitat:
|
Re: 2 Fragen zu Mp3
In der Regel ist der erste MPEG-Frame in einem VBR-MP3-File ein sogenannter Xing-Header, der zwar vom Header her mit einem MPEG-Frame kompatibel ist, aber keine Audio-Informationen enthält, sondern u.A. die Anzahl der Frames in der Datei (daraus eine schnelle Längenberechnung möglich) und ein Sprungstellenarray.
Wenn man das einfach mitkopiert, und davon mehrere in einer Datei hat, kommt es zum einen zu möglicherweise falschen Längenangaben bei einigen Playern (die nur den XING-Header auswerten, und nicht die ganze Datei), und zum anderen zu kleinen Knacksern bei der Wiedergabe, da zwischendurch ungültige Audio-Frames stecken. |
Re: 2 Fragen zu Mp3
Ersteinmal Danke für die Antworten, doch ich muss zugeben, dass es einfach eine Nummer zu hoch für mich ist und ich das ganze deswegen wohl am besten aufgebe :/ trotzdem vielen Dank.
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 16:23 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz