Fehlende Brocken beim Erstellen von Dateien mit Audioqueue
-
11-09-2019 - |
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.
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.