2011-11-07 9 views
5

He estado felizmente sintetizando audio (a 44.1khz) y enviándolo a través de la unidad de audio RemoteIO. Me llamó la atención que el audio de mi aplicación está "distorsionado" al salir a través de HDMI a un determinado modelo de TV. Me parece que el problema está relacionado con el hecho de que este televisor está buscando datos de audio a 48khz.iOS audio a través de HDMI: ¿cómo lidiar con la frecuencia de muestreo de 48khz?

Aquí hay algunas preguntas:

  • ¿El RemoteIO adoptar la frecuencia de muestreo de cualquier dispositivo que está a la salida? Si estoy enviando audio a través de HDMI a un dispositivo que solicita 48kz, ¿mis búferes de devolución de llamada RemoteIO se convierten en 48khz?

  • ¿Hay alguna manera ordenada de obligar a RemoteIO a pensar en términos de 44.1khz, y ser lo suficientemente inteligente como para realizar las conversiones necesarias de frecuencia de muestreo, antes de entregar los datos al dispositivo?

  • Si RemoteIO realmente solo difiere al dispositivo al que está conectado, entonces presumiblemente necesito hacer una conversión de frecuencia de muestreo entre mi motor de síntesis y IO remoto. ¿AudioConverterConvertComplexBuffer es la mejor manera de hacer esto?

Respuesta

1

Si desea una conversión de frecuencia de muestreo, intente utilizar la API Audio Queue o realice la conversión dentro de su propia aplicación utilizando algún código DSP.

Si el tamaño del búfer RemoteIO o frecuencia de muestreo se pueden configurar o no pueden depender de iOS modelo de dispositivo, versión del sistema operativo, rutas de audio, modos de fondo, etc., por lo que una aplicación debe acomodar tamaños de búfer y frecuencias de muestreo diferente cuando se utiliza RemoteIO .

3

Se ha solucionado el problema. Estaba asumiendo incorrectamente que el número de cuadros solicitados por la devolución de llamada de renderizado sería una potencia de dos. Cambié mi código para acomodar cualquier número arbitrario de cuadros y todo parece funcionar bien ahora.

Cuestiones relacionadas