Pregunta

Necesito reproducción de audio con estas características: buen rendimiento (para juegos), control de tono y capacidad para superponer la misma muestra varias veces al mismo tiempo (polifonía). ¿Cuál sería una forma rápida de obtener esto en el iPhone SDK?


Esto es lo que descubrí hasta ahora:

No hay bibliotecas disponibles o código de muestra que haga esto, por favor muéstrame mal.

SoundEngine.cpp (de las muestras de código CrashLanding y TouchFighter) usa OpenAL y permite controlar el tono, pero cada vez que se inicia un búfer, si ese mismo búfer se está reproduciendo, su cabezal de reproducción vuelve al inicio.

Una solución sucia para obtener polifonía con SoundEngine.cpp, sin sumergirse en su implementación (que para mí es incomprensible), es cargar múltiples buffers para el mismo archivo de sonido. Digamos que quiero una polifonía de un máximo de 4 voces por sonido, luego cargo 4 buffers para el mismo archivo. Tendría que terminar todo en una clase de gerente. ¿Es seguro seguir este camino? ¿Y / o hay alguna manera de hackear SoundEngine.cpp para que sea polifónico?

¿Fue útil?

Solución

FMOD (www.fmod.org) proporciona todas estas características. Echa un vistazo a su muestra de voces virtuales para la polifonía y el efecto DSP de cambio de tono en los documentos.

Solo soy un cliente, no estoy afiliado a ellos.

Otros consejos

El SoundEngine de CrashLanding es un desastre, me mantendría alejado de él. Escribir lo que quieres alrededor de OpenAL no es difícil, son unas pocas horas de trabajo. Puede echar un vistazo a Finch o en el Cocos 2D sound egine .

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