Pregunta

¿Hay alguna manera de convertir un archivo mp3 en un archivo WAV / AIFF en mi aplicación para el iPhone? Tengo un mp3 pero quiero combinarlo con otros archivos y la única manera que sé esto se puede hacer cuando se está utilizando formatos PCM.

¿Alguien puede echarme una mano?

Gracias.

Algunas cosas que intenté

He intentado utilizar el método AudioConverterFillComplexBuffer () y su devolución de llamada para convertir el mp3 a la CAF, pero los bytes por paquete y por trama se leen como 0. Alguna idea de cómo puedo o si puedo utilizar esta función?

Gracias de nuevo.

¿Fue útil?

Solución

WAV y AIFF a menudo (por lo general?) Contienen PCM, así que cuál es la objeción allí? O ¿estás diciendo que usted tiene que conseguir sus datos MP3 a PCM con el fin de mezclar (tal vez en una unidad mezcladora de audio multicanal). Si desea seriamente hacer esto, mira Core Audio, en concreto:

    Servicios
  • archivo de audio (para leer el formato MP3 y escriben AIFF o WAV)
  • Servicios de conversión de archivos de audio (para convertir los datos en MP3 a PCM, y / o para codificar de PCM a algún otro códec si tuviera que escribir un archivo). Tenga en cuenta que un convertidor dado no puede convertir entre los dos formatos codificados; que puede hacer MP3-a-PCM o PCM-a-AAC, pero para hacerlo MP3 a AAC, que había necesidad de dos convertidores.
  • Servicios de archivos de audio extendidas, que combinan los dos anteriores.

Consulte el ConvertFile ejemplo en el SDK de audio Core . Esto abre un archivo de origen para la lectura, se describe el formato deseado del archivo de destino, lee memorias intermedias de uno y los graba en la otra. Las exposiciones de código tanto el uso separado de servicios de archivo de servicios + de conversión, y el uso conveniente de ExtAudioFiles.

Además, asegúrese de entender la diferencia entre códecs y formatos de archivo, y qué códec / combinaciones de formato son legales. Me sorprendió la primera vez que descubrí que PCM debe ser ascendente hacia la izquierda en una WAV, big-endian en un AIFF.

Otros consejos

Puede hacer esto, probablemente, con el conjunto adecuado de unidades Core Audio, pero es probable que lo utilice una gran cantidad de CPU. Usted debe convertir los datos antes de tiempo (tal vez en tiempo de compilación?), Si es posible.

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