29 Jun, 2011 17:49
Como tocar som em aplicativos iPhone
Existem diversas formas de se tocar som em aplicativos iPhone, uma das mais simples é usando o AudioToolbox, framework de alto nível. Vamos explicar o passo a passo de como tocar um som de sistema, que é um som curto tocado rapidamente, como o pulo de um personagem ou o apertar de um botão.
1. Converter para caf
Uma das limitações de usar essa abordagem é que ela não suporta todos os formatos de som (como wav), por isso temos que usar o formato caf. A forma mais simples de converter um som é usando o seguinte comando no terminal:
afconvert -f caff -d LEI16@44100 -c 1 in.wav out.caf
2. Carregar os sons
Depois de converter os arquivos de som, você tem que carrega-los para a memória - essa é aquela parte que os jogos colocam uma barrinha e pedem pra você esperar um pouco antes de começar o jogo. Para carregar, importe os arquivos para o projeto e use o seguinte código:
SystemSoundID somId;
NSString *somPath = [[NSBundle mainBundle] pathForResource:@"nomeSom" ofType:@"caf"];
CFURLRef somURL = (CFURLRef) [NSURL fileURLWithPath:somPath];
AudioServicesCreateSystemSoundID(somURL, &somId);
Isso trará o seu som para a memória e o guardará nesse somId. Não se esqueçam de liberar o som quando você não precisar mais dele (quando o jogo sair da fase e menu, por exemplo), usando o comando AudioServicesDisposeSystemSoundID e passando o somId como parâmetro.
3. Tocar o som
Essa é a parte mais simples, basta usar a linha:
AudioServicesPlaySystemSound(somId);
Em um futuro post comentaremos como utilizar o framework AVFoundation para tocar músicas de fundo em formatos mais amigáveis, como o mp3.