Qual è il modo più semplice per riprodurre un clip audio in un applicazione per iPhone?
-
23-08-2019 - |
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?
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:
-
Convertire file audio per caf (uso afconvert strumento a riga di comando) e aggiungere al progetto.
stand caf per Core Audio Format (credo ...)
-
Cercare SoundEffect.h e .m nel codice di esempio di Apple. Credo che sia metronomo e BubbleLevel hanno.
- Copia per il progetto
-
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.