Pergunta

Eu preciso de reprodução de áudio com estas características: bom desempenho (por jogo), controle de pitch, e capacidade de camada a mesma amostra várias vezes ao mesmo tempo (polifonia). O que seria uma maneira rápida de obter isso no iPhone SDK?


Aqui está o que eu descobri até agora:

Não há bibliotecas disponíveis ou código de exemplo que faz isso, por favor, mostre-me errado.

SoundEngine.cpp (a partir de CrashLanding e amostras de código TouchFighter) usa OpenAL e permite ao passo de controlo, mas cada vez que um tampão é iniciado, se que mesmo tampão está a tocar, o indicador de reprodução vai voltar para o início.

Uma solução suja para obter polifonia com SoundEngine.cpp, sem mergulhar em sua execução (que é incompreensível para mim), é para carregar vários buffers para o mesmo arquivo de som. Vamos dizer que eu quero uma polifonia máxima de 4 vozes por som, então eu carregar 4 buffers para o mesmo arquivo. Eu teria apenas para embrulhar tudo em uma classe gerente. É seguro ir por este caminho? E / ou se há uma maneira de cortar o SoundEngine.cpp a ser polifônicos?

Foi útil?

Solução

FMOD (www.fmod.org) oferece todos esses recursos. Confira sua amostra virtualvoices para polifonia e do efeito DSP pitch shift nos docs.

Eu sou apenas um cliente, e não de outra forma afiliado com eles.

Outras dicas

O SoundEngine de CrashLanding é uma bagunça, eu ficaria longe dele. Escrever o que você quer em torno OpenAL não é difícil, é algumas horas de trabalho. Você pode espreitar Finch ou no Cocos 2D som egine .

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top