Frage

Eine .wav -Datei hat also einige Standardbrocken. In den meisten Dateien, mit denen ich arbeite, ist der "Riff" -Plit zuerst, dann ein "FMT" -Schunk, dann das "Daten" -Schunk. Bei der Aufnahme mit AvaudioreCorder werden diese Stücke erstellt (obwohl vor dem "Daten" -Schunk ein zusätzliches "FLLR" erstellt wird.)

Beim Erstellen einer Datei mit Audioqueue werden diese Standardbrocken nicht erstellt. Stattdessen erstellt Audioqueue in der Reihenfolge "CAFF", "Desc", "LPCM", "Free" und "Data" Stücke.

Was ist los? Sind die "Riff" und "FMT" -Brocken nicht erforderlich? Wie zwingt man die Einbeziehung dieser Stücke?

Ich erstelle eine Datei von:

AudioFilecreatewithurl (URL, KaudioFileCaftype & InputDataFormat, KaudioFileFlags_eraseFile, & audiofile);

mit InputDataFormat eine AudioTreamBasicDescription mit einer vollständigen Eigenschaften ergänzt.

Wie schreibt man zumindest die "Riff" und "FMT" -Brocken mit Audioqueue?

Vielen Dank.

War es hilfreich?

Lösung

Eine .wav -Datei hat also einige Standardbrocken. …

Beim Erstellen einer Datei mit Audioqueue werden diese Standardbrocken nicht erstellt. …

Ich erstelle eine Datei von:

AudioFileCreateWithURL(URL, kAudioFileCAFType, &inputDataFormat, kAudioFileFlags_EraseFile, &AudioFile);

Lassen Sie dies ein Beispiel für den Wert sein, der den eigenen Code in der Frage zeigt. :-)

kAudioFileCAFType ist eine Kern -Audiodatei, keine WAV -Datei. Versuchen kAudioFileWAVEType stattdessen.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top