lancio Xcode e aprire il progetto view- based che si desidera rilevare quando un utente soffia nel microfono.
2 Fare clic sulla freccia a sinistra del l'opzione " Targets" , quindi fare clic destro sulla voce che prende il nome dell'applicazione . Ad esempio , se l'applicazione è denominata " GenericGame , " la voce si chiamerà " GenericGame . " Spostare il cursore del mouse sopra l' opzione "Aggiungi" e selezionare le " discipline esistenti ... " opzione .
3
Fare clic sul pulsante "+" , selezionare l' opzione " AVFoundation.framework " e cliccare sul pulsante "Aggiungi" .
4
Fare clic sulla freccia a sinistra della cartella dal nome del progetto . Ad esempio, se il progetto è denominato " GenericGame ", fare clic sulla freccia a sinistra della cartella " GenericGame " . Fare clic sulla freccia a sinistra della cartella " Classes " e fare clic sul file " ViewController.h " per visualizzare il contenuto del file .
5
Aggiungi le seguenti due righe di codice direttamente sotto la " # importare Aggiungere il seguente . riga di codice direttamente sotto la " @ interface MicBlowViewController : UIViewController {" riga di codice: . AVAudioRecorder * registratore ; Aggiungere il seguente codice direttamente sotto la " [super viewDidLoad ] ; " , linea di codice : NSURL * url = [ NSURL fileURLWithPath : @ " /dev /null " ] ; NSDictionary * Impostazioni = [ dictionaryWithObjectsAndKeys NSDictionary : [ NSNumber numberWithFloat : 44.100,0 ] , AVSampleRateKey , [ NSNumber numberWithInt : kAudioFormatAppleLossless ] , AVFormatIDKey , [ NSNumber numberWithInt : 1 ] , AVNumberOfChannelsKey , [ NSNumber numberWithInt : AVAudioQualityMax ] , AVEncoderAudioQualityKey , nil ] ; NSError * errore ; registratore = [ [ AVAudioRecorder alloc ] initWithURL : impostazioni uRL: error impostazioni : & error ] ; se ( registratore ) { [ registratore prepareToRecord ] ; recorder.meteringEnabled = YES ; [ record registratore ] ; } else NSLog ( [ descrizione errore ] ) . Aggiungere la seguente riga di codice direttamente sotto il " - ( void) dealloc {" riga di codice: [ registratore release] ; Aggiungi . il seguente codice direttamente sotto la " AVAudioRecorder * registratore , " riga di codice: NSTimer * levelTimer ; } - ( void) levelTimerCallback : ( NSTimer * ) timer ; Aggiungere la seguente riga di codice direttamente sotto la " [ record registratore ] ; " riga di codice : levelTimer = [ NSTimer scheduledTimerWithTimeInterval : 0.03 bersaglio : selettore auto : @ selettore ( levelTimerCallback :) userinfo : ripete nil : YES] ; . clic sul file " ViewController.m " del progetto per visualizzarne il contenuto . Immettere il codice seguente nel file ViewController.m : - ( void) levelTimerCallback : ( NSTimer * ) timer { [ registratore updateMeters ] ; NSLog ( @ "input medio: % f ingresso di picco: % f" , [ registratore averagePowerForChannel : 0 ] , [ registratore peakPowerForChannel : 0 ] ) ; } Aggiungere il seguente codice direttamente sotto il " - ( void) dealloc {" riga di codice: . [ levelTimer release] ; clic sul file " ViewController.h " del progetto per visualizzarne il contenuto . Aggiungere il seguente codice direttamente sotto la " NSTimer * levelTimer , " riga di codice: . Doppi lowPassResults ; Individuare la sezione di codice che inizia con la linea " - ( void) levelTimerCallback : ( NSTimer * ) timer { "e termina con " } " Sostituire questa sezione di codice con il seguente codice : - ( void) listenForBlow : . ( NSTimer * ) timer { [Recorder updateMeters ] ; const double alpha = 0.05; doppio peakPowerForChannel = pow ( 10 , ( 0.05 * [ registratore peakPowerForChannel : 0 ] ) ) ; lowPassResults = ALPHA * peakPowerForChannel + ( 1.0 - ALPHA ) * lowPassResults ; ( lowPassResults > , 0,95) NSLog ( @ " Mic colpo rilevato" );}
6
7
8
9
10
11
12
Pagina 13
14
Informazioni correlate
Programmazione © www.354353.com