Pregunta

Así que un archivo .wav tiene unos trozos estándar. En la mayoría de los archivos con los que trabajo, el trozo "RIFF" es primero, luego un trozo "FMT", entonces el trozo "DATA". Cuando se graba utilizando AVAudioRecorder, esos trozos se crean (aunque se crea un "FLLR" extra antes de que el trozo "DATA".)

Al crear un archivo con AudioQueue, esos trozos estándar no se crean. En su lugar, crea AudioQueue, con el fin, "CAFF", "desc", "LPCM", "libre", y trozos de "datos".

¿Qué está pasando? No son los "RIFF" y trozos "FMT" requerido? ¿Cómo se puede forzar la inclusión de esos trozos?

Estoy creando un archivo por:

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

con inputDataFormat ser un AudioStreamBasicDescription con un complemento completo de propiedades.

Entonces, ¿cómo puede uno escribir, al menos, el "RIFF" y trozos "FMT" con AudioQueue?

Gracias.

¿Fue útil?

Solución

  

Así que un archivo .wav tiene unos trozos estándar. ...

     

Al crear un archivo con AudioQueue, esos trozos estándar no se crean. ...

     

     

Estoy creando un archivo por:

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

Que este sea un ejemplo del valor de mostrar el código de uno en la de una pregunta. : -)

kAudioFileCAFType es un archivo del audio, no un archivo WAV. Trate de kAudioFileWAVEType lugar.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top