Programação  
 
Conhecimento computador >> Programação >> C /C + + programação >> 
Como detectar o golpe do Mic no xCode
aplicação de programação Xcode da Apple permite que programadores com conhecimento de C e programação Objective- C desenvolver aplicativos para o iOS e plataformas X OS. Se você está desenvolvendo um aplicativo para um dispositivo iOS e quiser que o aplicativo para ser capaz de detectar quando um usuário sopra no microfone , há uma maneira muito específica para codificar o aplicativo para permitir que ele a fazê-lo . Este código envolve permitindo que o aplicativo para receber a entrada do microfone, a amostragem do nível de áudio e dizendo o aplicativo para escutar o som de alguém soprando para o microfone , todos os quais podem ser implementadas na aplicação Xcode . Instruções
1

Lançamento Xcode e abra o projeto baseado em vista que você deseja detectar quando um usuário sopra no microfone.
2

Clique na seta à esquerda do a opção " Alvos " , clique com o botão direito no item que tem o nome da aplicação. Por exemplo , se o aplicativo é chamado de " GenericGame ", o item será nomeado " GenericGame . " Mova o cursor do mouse sobre a opção "Adicionar " opção e selecione a opção " quadros existentes ... " opção.
3

Clique no botão "+" , selecione a opção " AVFoundation.framework " e clique no botão "Adicionar" .
4

Clique na seta à esquerda da pasta com o nome do projeto. Por exemplo , se o projeto é denominado " GenericGame ", clique na seta à esquerda da pasta " GenericGame " . Clique na seta para a pasta " Classes" à esquerda e clique no arquivo " ViewController.h " para visualizar o conteúdo do arquivo .
5

Adicione as duas linhas de código diretamente abaixo do " # import line " de código : #. importação # import
6

Adicione o seguinte linha de código diretamente abaixo do " MicBlowViewController @ Interface : UIViewController {" linha de código: . AVAudioRecorder * gravador ;
7

Adicione o seguinte código logo abaixo da " [super viewDidLoad ]; " , linha de código: NSURL * url = [ NSURL fileURLWithPath : @ " /dev /null "] ;

NSDictionary * Configurações = [ dictionaryWithObjectsAndKeys NSDictionary : [ NSNumber numberWithFloat : 44.100,0 ] , AVSampleRateKey , [ NSNumber numberWithInt : kAudioFormatAppleLossless ] , AVFormatIDKey , [ NSNumber numberWithInt : 1] , AVNumberOfChannelsKey , [ NSNumber numberWithInt : AVAudioQualityMax ] , AVEncoderAudioQualityKey , nil ];

NSError * erro;

gravador = [[ AVAudioRecorder alloc] initWithURL : As configurações de URL: erro definições: & erro ];

if ( gravador) {[ gravador prepareToRecord ]; recorder.meteringEnabled = YES ; [ registro gravador ]; } else NSLog ( [ descrição do erro ]); .
8

Adicione a seguinte linha de código diretamente abaixo do " - (void) { dealloc " linha de código: [release gravador ];
9

Adicionar . o seguinte código logo abaixo da " AVAudioRecorder * gravador ; " linha de código: NSTimer * levelTimer ;}

- (void) levelTimerCallback : ( NSTimer *) temporizador;
10

Adicione a seguinte linha de código diretamente abaixo do " [ registro gravador ]," linha de código: levelTimer = [ NSTimer scheduledTimerWithTimeInterval : 0,03 alvo : auto seletor: @ selector ( levelTimerCallback :) userInfo : nil repete : YES] ; .
11

Clique arquivo " ViewController.m " do projeto para exibir seu conteúdo. Digite o seguinte código no arquivo ViewController.m : - ( void) levelTimerCallback : ( NSTimer *) temporizador {[ gravador updateMeters ]; NSLog ( @ "input Média: % f entrada Peak :% f" , [ averagePowerForChannel gravador : 0 ], [ gravador peakPowerForChannel : 0] );}
12

Adicione o seguinte código logo abaixo da " - (void) { dealloc " linha de código: . [release levelTimer ]; < br >
13

Clique no arquivo " ViewController.h " do projeto para exibir seu conteúdo. Adicione o seguinte código logo abaixo da " NSTimer * levelTimer ; " linha de código: lowPassResults duplas;
14

Localize a seção de código que começa com a linha " - (void) levelTimerCallback . . : ( NSTimer *) temporizador {" e termina com "} " Substituir esta seção do código com o seguinte código : - ( void) listenForBlow : ( NSTimer *) temporizador {[ gravador updateMeters ];

const double ALPHA = 0,05; dupla peakPowerForChannel = pow (10, (0,05 * [ peakPowerForChannel gravador : 0 ] ) ) ; lowPassResults = ALPHA * peakPowerForChannel + ( 1.0 - Alpha ) * lowPassResults ;

if ( lowPassResults > ; 0,95) NSLog ( @ " golpe Mic detectado ");}

Anterior :

Próximo : No
  Os artigos relacionados
·Como adicionar GMP para Xcode 
·Como usar uma função GetOpenFileName 
·Funções Iomanip 
·Diferenças entre o ATL , MFC e Win32 
·Qual é a diferença entre um controle de entrada analó…
·Como usar Ctags Com UltraStudio 
·Por que não posso ver minha Xcode iPhone 
·Base de SDK xCode Faltando 
·O que é WinAC & Kernel Mode 
·Como formatar datas e horas com Iostream 
  Artigos em destaque
·Funções C para Xilinx 
·O que fazer com um erro de Trapped in C 
·Como obter um protótipo funcional de DLL 
·Por que não posso ver minha Xcode iPhone 
·Como fazer um arquivo VSH 
·Diferenças entre o ATL , MFC e Win32 
·Como adicionar GMP para Xcode 
·Como usar Ctags Com UltraStudio 
·Como importar códigos com SVN Xcode 3.2 
·XCode : Como criar uma gota 
Cop e direita © Conhecimento computador http://ptcomputador.com Todos os Direitos Reservados