Domanda

Voglio essere in grado di riprodurre un clip audio in un app iPhone OS. Ho visto informazioni sia NSSound e AVFoundation come mezzi per ottenere clip audio riprodotti su un dispositivo iPhone OS, ma non sono ancora chiare sull'argomento e potrebbe usare un certo aiuto. Non c'è bisogno di chiarirne il significato per me step-by-step in codice vero e proprio, ma se qualcuno mi potrebbe dare un suggerimento alla direzione generale (vale a dire quali classi dovrei concentrandosi su), in cui avrei dovuto iniziare a muoversi ve lo riempirò gli spazi vuoti me stesso. Allora, qual è il modo più semplice per riprodurre un clip audio in un app iPhone?

È stato utile?

Soluzione

Apple ha un articolo su questo argomento, si veda: questo link

AVAudioPlayer è il modo più semplice per riprodurre i suoni di qualsiasi lunghezza, looping o no, ma richiede iPhone OS 2.2 o superiore. Un semplice esempio:

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];

Sarà riprodurre praticamente qualsiasi formato di file (AIFF, WAV, MP3, AAC) Tenete a mente che si può giocare solo un file MP3 / AAC alla volta.

Altri suggerimenti

Ecco il modo più semplice che io conosca:

  1. Convertire file audio per caf (uso afconvert strumento a riga di comando) e aggiungere al progetto.

    stand caf per Core Audio Format (credo ...)

  2. Cercare SoundEffect.h e .m nel codice di esempio di Apple. Credo che sia metronomo e BubbleLevel hanno.

  3. Copia per il progetto
  4. Scrivi codice come il seguente:

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

Studio SoundEffect.m per avere un'idea di semplice manipolazione del suono.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top