Vitajte na [www.pocitac.win] Pripojiť k domovskej stránke Obľúbené stránky
Spustite Xcode a otvorte projekt zobrazenie založené na ktorú chcete zistiť , kedy užívateľ fúka do mikrofónu .
2
Kliknite na šípku na ľavej strane " Ciele " možnosť , kliknite pravým tlačidlom myši na položku , ktorá je pomenovaná po aplikácii . Napríklad , ak je aplikácia s názvom " GenericGame , " položka bude volať " GenericGame . " Presuňte kurzor myši nad " Pridať " možnosť a vyberte možnosť " existujúce rámce ... " možnosť .
3
kliknite na tlačidlo " + " , vyberte možnosť " AVFoundation.framework " a kliknite na tlačidlo " Pridať " .
4
kliknite na šípku na ľavej strane zložky pomenované po skončení projektu . Napríklad , ak je projekt s názvom " GenericGame , " kliknite na šípku vľavo od zložky " GenericGame " . Kliknite na šípku na ľavej strane zložky " tried " a kliknite na súbor " ViewController.h " zobraziť obsah súboru .
5
pridajte nasledujúce dva riadky kódu priamo pod " # import Pridajte nasledujúci riadok kódu priamo pod " @ rozhranie MicBlowViewController : UIViewController { " riadok kódu : . AVAudioRecorder * záznamník , Pridajte nasledujúci kód priamo pod " [ Super viewDidLoad ] ; " , riadok kódu : NSURL * url = [ NSURL fileURLWithPath : @ " /dev /null " ] ; NSDictionary * nastavenie = [ NSDictionary dictionaryWithObjectsAndKeys : [ NSNumber numberWithFloat : 44100,0 ] , AVSampleRateKey , [ NSNumber numberWithInt : kAudioFormatAppleLossless ] , AVFormatIDKey , [ NSNumber numberWithInt : 1 ] , AVNumberOfChannelsKey , [ NSNumber numberWithInt : AVAudioQualityMax ] , AVEncoderAudioQualityKey , nil ] ; NSError * chyba , rekordér = [ [ AVAudioRecorder Alloc ] initWithURL : Nastavenie url : Chyba nastavenia : a error ] ; if ( rekordér ) { [ rekordér prepareToRecord ] ; recorder.meteringEnabled = ÁNO ; [ rekordér záznam ] ; } else NSLog ( [ Popis chyby ] ) ; . Pridajte nasledujúci riadok kódu priamo pod " - ( void ) { dealloc " riadok kódu : [ správa záznamník ] ; Pridať . nasledujúci kód priamo pod " AVAudioRecorder * rekordéra , " riadok kódu : NSTimer * levelTimer ; } - ( void ) levelTimerCallback : ( NSTimer * ) časovača ; Pridajte nasledujúci riadok kódu priamo pod " [ rekordéra záznam ] ; " riadok kódu : levelTimer = [ NSTimer scheduledTimerWithTimeInterval : 0,03 cieľ : vlastné voliča : @ voliča ( levelTimerCallback :) UserInfo : nil opakovanie : YES ] ; . Kliknite na súbor projektu " ViewController.m " zobrazíte jeho obsah . Zadajte nasledujúci kód do súboru ViewController.m : - ( void ) levelTimerCallback : ( NSTimer * ) časovač { [ rekordér updateMeters ] ; NSLog ( @ " Priemerný príkon : % f Špičkový príkon : % f " , [ rekordér averagePowerForChannel : 0 ] , [ rekordér peakPowerForChannel : 0 ] ) ; } Pridajte nasledujúci kód priamo pod " - ( void ) { dealloc " riadok kódu : . [ levelTimer správa ] ; Kliknite na súbor projektu " ViewController.h " zobrazíte jeho obsah . Pridajte nasledujúci kód priamo pod " NSTimer * levelTimer , " riadok kódu : double lowPassResults ; Vyhľadajte časť kódu , ktorý začína s linkou " - ( void ) levelTimerCallback . . : ( NSTimer * ) časovač { " a končí " } " nahradiť túto časť kódu s nasledujúcim kódom : - ( void ) listenForBlow : ( NSTimer * ) časovač { [ rekordér updateMeters ] ; const double ALPHA = 0,05 ; double peakPowerForChannel = pow ( 10 , ( 0.05 * [ rekordér peakPowerForChannel : 0 ] ) ) ; lowPassResults = ALPHA * peakPowerForChannel + ( 1,0 - ALPHA ) * lowPassResults ; if ( lowPassResults > ; 0,95 ) NSLog ( @ " Mic rana zistená " ) ; }
6
7
8
9.
10
11
12
Stránka 13
14