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.

Ao navegar neste site, você consente o uso de cookies nossos e de terceiros, que coletam informações anônimas e são essenciais para melhorar sua experiência em nosso site.