Cómo rellenar AudioStreamBasicDescription para la reproducción de AMR
-
30-09-2019 - |
Pregunta
datos de origen se AMR-NB 5.9kbit / s (AMR_5.90) ??
He intentado el siguiente configuración (y una docena de variaciones), pero estoy recibiendo nada más que basura de audio. ¿Alguien sabe la configuración correcta para AMR?
AudioStreamBasicDescription asbd;
asbd.mSampleRate = 8000.0;
asbd.mFormatID = kAudioFormatAMR;
asbd.mFormatFlags = 0;
asbd.mBytesPerPacket = 15; // (118>>3)
asbd.mFramesPerPacket = 1;
asbd.mBytesPerFrame = 15;
asbd.mChannelsPerFrame = 1;
asbd.mBitsPerChannel = 118; //tried also 0 and 13
asbd.mReserved = 0;
Sobre la base de información de la wikipedia para AMR:
frecuencia de muestreo de 8 kHz / 13 bits (160 muestras para tramas de 20 ms)
Genera longitud de trama de 95, 103, 118, 134, 148, 159, 204, o 244 bits para velocidades de bits de 4,75, 5,15, 5,90, 6,70, 7,40, 7,95, 10,2, o 12,2 kbit / s, respectivamente
Y la descripción de la estructura de datos desde aquí:
Solución
iOS abandonado el soporte AMR, por lo que la nueva solución es utilizar OpenCoreAMR a los datos Convertir a PCM
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow