Entwickler-Ecke
Multimedia / Grafik - Aufbau einer Wavedatei?
tommie-lie - Fr 24.01.03 17:55
Titel: Aufbau einer Wavedatei?
Die Sachverhalte haben sich ein bisschen verändert. Daher die Titeländerung.
Hier nochmal der alte Text:
______________________
Ich will über die Soundkarte direkt eine Audiodatei ausgeben. Das klappt an sich ganz gut. Dazu benutze ich die direkte WaveForm-API und den Befehl waveOutWrite() (und natürlich dem ganzen Drumrum).
Die Datei wird über einen normalen TFileStream eingelesen und vorerst als ein einziger Datenblock (nur ein Header) direkt an die Soundkarte geschickt (ich weiß, ich muss mir noch ein Block-Management einfallen lassen, vorerst ist mir die Blockgröße aber egal, ich will lernen!).
An sich ist die Ausgabe klar und gleichmäßig, aber am Anfang und Ende (am Ende noch vor dem waveOutUnPrepareHeader() und am Anfang nach dem waveOutWrite() ) ist deutlich ein statisches Knacksen zu hören. Quasi so als ob ein paar Vollbytes (bzw Doppelvollbytes) an die Soundkarte geschickt werden und somit die Tonspur für ein paar Samples voll ausgesteuert ist. Die eigentliche Audiodatei hat da aber noch nicht angefangen, es gehen also eigentlich keine Informationen unter. Die Frage ist nur, wie ich diese beiden Knackser wegkriege. Andere Programme haben's auch hingekriegt, also will ich das erst recht.
btw: Wie kann ich eigentlich aus einer handelsüblichen Wave-Datei (wav) die Dateiformate (Samplerate, bit/sample, Kanäle (Mono/Stereo)) auslesen?
____________________
Und hier meine neuen Infos:
mittlerweile weiß ich, woran's liegt:
Wenn ich die Dateien ins raw digital sound format (*.raw, *.snd) konvertiere, funktioniert's - ohne Knackser. Es liegt also am geringfügig veränderten (44Bytes waren anders) Aufbau von wave-Dateien. Mir würde also eine Formatbeschreibung des Wave-Formates reichen. Sinnvoll wäre natürlich auch, was in den zusätzlichen 44 Bytes steht.
Vermutlich sind in den 44 Bytes die Dateiformatinformationen drin, fragt sich nur noch in welcher Reihenfolge und wie...
tommie-lie - Sa 25.01.03 18:02
und noch einer damit's wieder nach oben kommt...
mimi - Sa 25.01.03 23:31
könntes du mir mal bitte die funktioen mal zeigen oder per e-mail senden wie du das denn sound ausgeben hast ?
das wollte ich auch mal machen.....
und wie kann ich die wav datei denn in .snd und ins.raw formate bekommen ?
gibt es dafür funktionen in delphi ?
MFG
Michael Springwald
tommie-lie - So 26.01.03 11:28
Die Funktionen sind low-level API. Etwas schwerer zu erklären...
Aber ich schick dir mal ein Beispielprogramm mit Kommentaren.
Die Konvertirung geht natürlich nciht mit Delphi, sonst hätte ich ja das Problem nicht. Ich habe das mit GoldWave gemacht, man müsste aber auch jedes andere Soundbearbeitungsprogramm dafür nehmen können...
mimi - So 26.01.03 16:23
danke !
tommie-lie - Mi 29.01.03 19:21
Jungs - ich kann ja verstehen, daß sich noch nicht so viele mit MP3 auseinandergesetzt haben und daher auf diese Frage meinerseits nicht antowrten konnten, aber hat sich denn bisher niemand, keiner, ne personne, nobody mit einer Wave-Datei beschäftigt?
Ich will doch nur den jämmerlichen Aufbau haben. Wieviele Bytes vor und hinter den Daten stehen und was da so alles an Wissenswertem drinsteht. Sowas muss es doch irgendwo geben! :bawling:
Aya - Mi 29.01.03 19:24
Hi,
also wirklich helfen kann ich vieleicht auchnich... aber schau mal auf
http://www.wotsit.org/ da ist nahezu JEDES Dateiformat erklärt... sicherlich auch WAVE.. :)
Aber kannst du mri das was du Mimi geschickt hast, auchmal schicken?? *schaut lieb* [url]Aya@Koshigaya.de[/url] :)
Au'revoir,
Aya~~
tommie-lie - Mi 29.01.03 21:07
ich werd' mal schauen, ob's auf wotsit was gescheites gibt, was auch ich verstehe...
Den Quellcode schick' ich dir zu (langsam mutiert das hier zu einer Codebörse, dabei will ich doch nur ein Dateiformat wissen :roll:)
mimi - Mi 29.01.03 21:20
so kann das enden;)
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2026 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!