Autor Beitrag
dognews
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 23



BeitragVerfasst: So 13.02.05 10:04 
hi,

gibt es eine Komponente oder überhaupt irgendeine relativ einfache Methode, Teile einer wav/mp3-datei (z.B. von 3 min 30 sec bis 4 min 20 sec) quasi in eine andere wav/mp3-datei herauszukopieren?

mfg,
dognews :wink:
Gausi
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 8554
Erhaltene Danke: 481

Windows 7, Windows 10
D7 PE, Delphi XE3 Prof, Delphi 10.3 CE
BeitragVerfasst: So 13.02.05 10:29 
Bei Wav geht das bestimmt, aber ich weiss nicht wie. Ich würde mich mal über das Wav-Format bei www.wotsit.org erkundigen.

Bei mp3 geht das bedingt, und da weiß ich wie. Ein mp3 File besteht aus vielen vielen Teilen, den 'Frames'. Jeder Frame hat einen MPEG-Header, in dem z.B. (indirekt) drin steht, wie groß dieser Frame ist. Da jeder Frame eine konstante Länge (in Zeit) hat, muss man von Dateianfang nur x Frames ignorieren, dann y Frames lesen, und diese an Stelle z in der anderen Datei einfügen.
Allerdings gibt es bei Layer 3 (=mp3) die Möglichkeit, dass sich 'Kodierungsintensive' Frames bei ihren Nachbarframes ein paar Byte 'leihen'. Dies würde bei meiner Methode verlorengehen. Inwieweit sich das genau auswirkt, weiss ich nicht. Auch weiss ich nicht, wie oft dieses 'leihen' vorkommt, oder wie man das feststellt.

Ich hab irgendwo ein Stück Code, was die Frames eines mp3-File in eine 'List of tMPEG-Frame' packt. Bei Bedarf poste ich das hier, wenn ich das wiederfinde.

_________________
We are, we were and will not be.
dognews Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 23



BeitragVerfasst: So 13.02.05 13:32 
hört sich interessant an!
nur eigentlich hätte ich mehr an eine Komponente gedacht, die das mehr oder weniger automatisch macht...
mein Programm ist schon so kompliziert genug... ;)

es muss doch irgendwas geben!
(wenn nicht, muss ich wohl auf dein Angebot zurückkommen...)

trotzdem danke ;)

dognews