Pregunta

¿Cuál es el formato de audio recomendada para el almacenamiento y reproducción de corta (2-3 seg) efectos de sonido de audio en el iPhone o iToouch?

La documentación del SDK de audio iPhone indica que el iPhone es compatible con audio en varios formatos - sin embargo, hay algunas desventajas para cada uno:

  • MP3: Este es un muy comprimido, pero también de alta calidad formato de codificación que conserva la riqueza de la música y la voz hablada. Sin embargo, sólo un único flujo de MP3 se pueden reproducir en un momento en el iPhone, ya que requiere el uso del decodificador de hardware. Esto excluye MP3 como formato para los efectos de sonido, ya que interrumpirán la música de fondo y / o cualquier tipo de música que se está reproduciendo usuario.
  • WAV: El iPhone sólo admite archivos WAV si son PCM - codificado y no requieren ningún codec de compresión. Mientras WAV es compatible con muchos diferentes frecuencias de muestreo y profundidades de bits, que se traduce en archivos muy grandes (180k / seg para 16-bit / 44.1kHz / audio estéreo). El gran tamaño se convierte en prohibitivo cuando tiene muchos efectos para jugar rápidamente.
  • AIFF: tiene problemas similares a WAV archivos - no está claro si son compatibles con cualquier codec de compresión. Supuestamente la compresión sin pérdidas de Apple es compatible -. pero no puedo encontrar ninguna herramienta que puede generar AIFF en el uso de esta compresión
  • Personalizado: Puede utilizar las API de bajo nivel de iPhone para reproducir su propia audio desde cualquier fuente. Pero esto parece un exceso para la reproducción de un efecto de sonido simple en un juego. Desde luego, no quiero escribir mi propia capa de audio y el codificador / decodificador sólo para esto.

Cualquier recomendación sería apreciada ... también sería útil si alguien puede recomendar una herramienta de un precio razonable para el procesamiento de audio que puede generar el formato recomendado. Gracias.

¿Fue útil?

Solución

Puede utilizar archivos ima4 comprimido, que proporcionan una relación 1: 4 de compresión de archivos WAV y son descomprimidos por el hardware (se puede cargar con un AVAudioPlayer)

.

En cuanto a MP3, sólo se puede reproducir un archivo de forma simultánea en ese formato, por eso no es recomendable para los efectos de sonido donde se puede tener más de una al mismo tiempo.

Estoy usando archivos ima4 con OpenAL, así que les estoy descomprimir manualmente con un código basado en este post .

Otros consejos

He tenido muy buena suerte con archivos de formato WAV CAF aunque se acerca en tamaño.

En cuanto a las herramientas, Audacity es libre y razonablemente funcional. Yo uso principalmente Amadeus Pro (alrededor de US $ 40). Bastante bueno y genera todo el iPhone los formatos de audio (incluyendo MP3, AIFF, WAVE, AAC, y la CAF). Una característica interesante es que soporta AudioUnit y plug-ins VST para que pueda agregar SoundFX.

También he oído cosas buenas acerca de fisión (por Rogue Amoeba), pero en realidad no han utilizado. Sus otros productos de audio son bastante sólido.

El marco AVAudioPlayer es bastante bueno en la reproducción de clips cortos, pero es posible que desee precargar los sonidos (llamar prepareToPlay) y mantenerlos en torno a si se puede prescindir de la memoria.

Tome un vistazo a la utilidad de línea de comandos afconvert en su Mac. Lo hace muchas conversiones entre diferentes formatos de audio, y si usted tiene una gran cantidad de sonidos, que puede crear scripts para las conversiones ...

Yo uso SoundToolbox y AVAudioPlayer con sonidos sobre todo en PCM lineal sin comprimir, creados en GarageBand.

SoundToolbox es ideal para jugar un poco corto "Boing" o "clic" u otros sonidos que se desencadenan a jugar y que no se preocupan por parar o jugar con su volumen, etc.

Si desea detener un sonido de juego o para saber si el sonido se hace jugando, AVAudioToolbox es agradable. Si desea reproducir sonidos con control sobre los componentes izquierdo y derecho del sonido, y luego mirar OpenAL.

Si no lo ha hecho, lea iPhone Aplicación Guía de programación en el apoyo de sonido.

Si el sonido es importante para su aplicación, es posible que desee tomar ventaja de algunas de las funciones disponibles para muy poco trabajo.

El único formato que he podido llegar al trabajo es la CAF. También es el que está en la mayoría de los ejemplos de código de manzana. Si está usando efectos de sonido cortos que el tamaño no será un problema.

He estado usando el formato WAV Microsoft ADPCM que comprime de 3,25: 1 (alta calidad) a 3,98: 1 (calidad por defecto). También puedo reducir la frecuencia de muestreo a 32.000 o incluso 22.050 dependiendo del sonido. No hay necesidad de guardar algunos archivos en estéreo -. Mono también reduce el tamaño del archivo bastante bien

Para música de fondo MP3 está muy bien.

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