PCM es solo una representación digital de una señal de audio analógica. Desafortunadamente, no encapsula ninguno de los metadatos sobre los canales de audio, profundidad de bits o frecuencia de muestreo, todo lo necesario para leer correctamente dichos datos PCM. Asumiría que AVAudioPlayer aceptaría estos datos PCM envueltos en un objeto NSData siempre que usted pueda establecer esas variables manualmente en el objeto AVAudioPlayer. Desafortunadamente, esas variables son de solo lectura, por lo que, aunque la documentación dice que AVAudioPlayer puede manejar cualquier cosa que Core Audio pueda manejar, no tiene forma de manejar datos de LPCM sin formato.
Según lo declarado por zoul, me imagino que la forma más fácil de hacerlo es lanzar un encabezado WAV, ya que el encabezado informa a AVPlayer de las variables necesarias anteriores. Tiene 44 bytes, se burla fácilmente y se define muy bien: utilicé el mismo definition dado anteriormente para implementar la codificación y decodificación del encabezado wav. Además, está justo antes de su sin modificar datos LPCM.
Me pregunto si esto es hablar por experiencia o por especulación. – iter
No lo intenté, pero tiene que funcionar. – zoul
Gracias por su aclaración. Estoy pensando menos en rodar mi propio codificador WAV y más en la línea de usar AudioToolbox para hacer el levantamiento para mí. – iter