Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Multimedia (https://www.delphipraxis.net/16-multimedia/)
-   -   Delphi Aufnahme OHNE kovertieren in mp3-format speichern (https://www.delphipraxis.net/42024-aufnahme-ohne-kovertieren-mp3-format-speichern.html)

Nogge 12. Mär 2005 06:29


Aufnahme OHNE kovertieren in mp3-format speichern
 
Hallo Community,
ich möchte gern von LineIn o.ä. die Geräusche bzw. Musik aufnehmen. Jedoch habe ich bisher bei Google, Torry, Swiss und hier im Forum nur die Variante gefunden, wo ich den Stream erst einmal in eine Wave-Datei speichern und nachträglich ins mp3-format konvertieren muss. Ich möchte diese Procedure in einem Stück machen, d.h. ich möchte den Stream sofort in eine mp3-Datei schreiben ohne später zu konvertieren. Könnt ihr mir dabei helfen?
Vielen Dank schon mal im Voraus.

mfg Nogge

Binärbaum 12. Mär 2005 13:46

Re: Aufnahme OHNE kovertieren in mp3-format speichern
 
AFAIK liegen die Daten von LineIn nie im MP3-Format vor. Deshalb muss man diese Daten immer erst nach MP3 konvertieren.

MfG
Binärbaum

Nogge 12. Mär 2005 14:11

Re: Aufnahme OHNE kovertieren in mp3-format speichern
 
kk, ist es dann möglich, während der Aufnahme des Streams diesen ins mp3-format zu konvertieren und dann erst zu speichern?

Tubos 12. Mär 2005 14:26

Re: Aufnahme OHNE kovertieren in mp3-format speichern
 
Klar, du musst ihn dann halt im RAM zwischenspeichern.

Nogge 12. Mär 2005 17:36

Re: Aufnahme OHNE kovertieren in mp3-format speichern
 
ja, sowas in der Richtung habe ich mir auch gedacht, nur wie genau?

Nogge 27. Mär 2005 18:51

Re: Aufnahme OHNE kovertieren in mp3-format speichern
 
So, ich habe mich jetzt ein wenig in TFileStream eingelesen und den Stream in mehrere kleine Dateistückchen seperat abgespeichert. Ich möchte so nämlich im Hintergrund der Aufnahme die bereits erstellten Dateistücke in ogg oder mp3 konvertieren. Letztendlich möchte ich die Dateien in eine einzige große Datei wieder zusammenfügen, was mir zwar gelungen ist (bisher erst mal nur im wav-format), jedoch hat diese Datei immer die Spieldauer von 0 sec.! Wenn ich die Aufnahme am Ende als eine einzige wav-Datei abspeichere, ohne dass ich den Stream in Teilstücken zerlege, wird die Spieldauer korrekt angezeigt.
Meine Frage also: Wie kann ich den wav-Stream in mehrere Teilen abspeichern und anschließend wieder korrekt zusammenfügen, sodass ich eine einwandfreie Wiedergabe erhalte?
Besser wäre es natürlich, wenn ich den WaveStream, ohne diesen in mehrere Dateien abzuspeichern, mit TFileStream zu laden und danach alles wieder zusammenzufügen, sofort konvertieren könnte. Dazu bin ich aber im mom noch nicht in der Lage, da mir das Wissen dafür fehlt ;_;

[edit] Ich habe es nun alleine geschafft, indem ich die WaveStream.Size der einzelnen Teile zusammengezählt und am Ende in den Header geschrieben habe. Jedoch habe ich gemerkt, dass die Header total irrelevant sind ;-) Man kann nämlich mit der oggenc.exe RAW data files konvertieren (Parameter: -r), d.h. Dateien ohne Header. Ich kann so zwar die wav-Dateien nicht abspielen, aber das möchte ich ja im endeffekt auch nicht.
[/edit]


Alle Zeitangaben in WEZ +1. Es ist jetzt 23:19 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz