Pergunta

Eu quero ser capaz de jogar um clipe de som em um aplicativo para iPhone OS. Eu vi informações sobre ambos NSSound , bem como AVFoundation como meios para obter clipes de som jogado em um dispositivo iPhone OS, mas eu ainda não estou claro sobre o assunto e poderia usar alguma ajuda. Não há necessidade de explicar isso para mim passo-a-passo no código real, mas se alguém poderia me dar uma dica sobre a direção geral (ou seja, quais as classes que eu deveria estar centrada na) em que eu deveria começar a se mover eu vou encher os espaços em branco eu. Então, qual é a maneira mais simples para reproduzir um clipe de som em um aplicativo do iPhone?

Foi útil?

Solução

A Apple tem um artigo sobre este assunto, consulte: este link

AVAudioPlayer é a maneira mais simples de reproduzir sons de qualquer comprimento, looping ou não, no entanto, requer o iPhone OS 2.2 ou superior. Um exemplo simples:

NSString *soundFilePath =
                [[NSBundle mainBundle] pathForResource: @"sound"
                                                ofType: @"wav"];

NSURL *fileURL = [[NSURL alloc] initFileURLWithPath: soundFilePath];

AVAudioPlayer *newPlayer =
                [[AVAudioPlayer alloc] initWithContentsOfURL: fileURL
                                                       error: nil];
[fileURL release];

[newPlayer play];

[newPlayer release];

Ele vai jogar praticamente qualquer formato de arquivo (AIFF, WAV, MP3, AAC) Tenha em mente que você só pode jogar um ficheiro MP3 / AAC de cada vez.

Outras dicas

Aqui é a maneira mais simples que eu conheço:

  1. Converta seu arquivo de som para café (uso afconvert ferramenta de linha de comando) e adicionar ao seu projeto.

    CAF significa Format Core Audio (eu acho ...)

  2. Procure SoundEffect.h e .m no código de exemplo da Apple. Eu acredito que ambos Metronome e BubbleLevel tê-lo.

  3. Copiar para seu projeto
  4. Escrever código como abaixo:

    SoundEffect *SimpleSound = [[SoundEffect alloc] initWithContentsOfFile:[mainBundle pathForResource:@"soundfile" ofType:@"caf"]];
    [SimpleSound play];
    [SimpleSound release];
    

Estudo SoundEffect.m para ter uma idéia de manipulação de som simples.

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