“Conocimiento Programación>C /C + + Programming

Cómo detectar el golpe del Mic en xCode

2015/3/29
programación de aplicaciones Xcode de Apple permite a los programadores con conocimientos de programación en C y Objective- C desarrollan aplicaciones para el iOS y OS X plataformas . Si está desarrollando una aplicación para un dispositivo iOS y desea que la aplicación sea capaz de detectar cuando un usuario sopla en el micrófono , hay una manera muy específica para codificar la aplicación para que pueda hacerlo. Este código consiste en permitir la aplicación para recibir la entrada del micrófono, el muestreo del nivel de audio y decir la aplicación para escuchar el sonido de alguien que sopla en el micrófono , todo lo cual puede ser implementado en la aplicación Xcode . Instrucciones
1

lanzamiento Xcode y abra el proyecto basado en vistas que desea detectar cuando un usuario sopla en el micrófono.
2

Haga clic en la flecha a la izquierda de la opción " Targets" , a continuación, haga clic en el elemento que lleva el nombre de la aplicación. Por ejemplo, si se llama a la aplicación " GenericGame ", el tema se llama " GenericGame . " Mueve el cursor del ratón sobre la opción "Add " y seleccione la opción " Marcos existentes ... " opción.
3

clic en el botón "+ ", seleccione la opción " AVFoundation.framework " y haga clic en el botón " Add" .
4

Haga clic en la flecha situada a la izquierda de la carpeta con el nombre del proyecto. Por ejemplo, si el proyecto se denomina " GenericGame ", haga clic en la flecha situada a la izquierda de la carpeta " GenericGame " . Haga clic en la flecha a la de la carpeta " Clases" a la izquierda y haga clic en el archivo " ViewController.h " para ver el contenido del archivo .
5

Agregue las siguientes dos líneas de código justo debajo de la " # import line " de código: # import # import
6

Agregue la siguiente . línea de código justo debajo de la " @ interface MicBlowViewController : UIViewController {" línea de código: . AVAudioRecorder * grabador ;
7

Añada el siguiente código justo debajo de la " [super viewDidLoad ] ; " , la línea de código: NSURL * url = [ NSURL fileURLWithPath : @ " /dev /null "];

NSDictionary * Ajustes = [ dictionaryWithObjectsAndKeys NSDictionary : [ NSNumber numberWithFloat : 44100.0 ] , AVSampleRateKey , [ NSNumber numberWithInt : kAudioFormatAppleLossless ] , AVFormatIDKey , [ NSNumber numberWithInt : 1 ] , AVNumberOfChannelsKey , [ NSNumber numberWithInt : AVAudioQualityMax ] , AVEncoderAudioQualityKey , nil ] ;

NSError * error ;
grabadora

= [ [ AVAudioRecorder alloc ] initWithURL : configuración de uRL: error ajustes : & error ] ;

if ( grabadora) {[ grabador prepareToRecord ] ; recorder.meteringEnabled = YES; [ registrador ] ; } else NSLog ( [ descripción de error ] ) .
8

Agregue la siguiente línea de código justo debajo de la " - ( void) dealloc {" línea de código: [ grabador de liberación ] ;
9

Agregar . el siguiente código justo debajo de la " AVAudioRecorder * grabador , " línea de código: NSTimer * levelTimer ;}

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

Agregue la siguiente línea de código justo debajo de la " [ registrador ] ; " línea de código: levelTimer = [ NSTimer scheduledTimerWithTimeInterval : 0,03 target: selector auto : @ selector ( levelTimerCallback :) userInfo : repite nil : YES] ; .
11

clic archivo " ViewController.m " del proyecto para ver su contenido . Escriba el siguiente código en el archivo ViewController.m : - ( void) levelTimerCallback : ( NSTimer *) timer {[ grabador updateMeters ] ; NSLog ( @ " de entrada promedio: % f de entrada pico: % f" , [ grabador averagePowerForChannel : 0 ] , [ grabador peakPowerForChannel : 0 ] ) ;}
12

Añada el siguiente código justo debajo de la " - ( void) dealloc {" línea de código: . [ levelTimer liberación ],
Página 13

Haga clic en el archivo " ViewController.h " del proyecto para ver su contenido . Agregue el código siguiente justo debajo de la " NSTimer * levelTimer , " línea de código: . LowPassResults dobles;
14

Localice la sección de código que comienza con la línea " - ( void) levelTimerCallback : ( NSTimer *) timer { "y termina con " } "Reemplazar esta sección de código con el siguiente código: - ( void) listenForBlow : . ( NSTimer *) timer { [ updateMeters grabadora ] ;
< p > const double ALPHA = 0,05 ; doble peakPowerForChannel = pow ( 10 , ( 0,05 * [ grabador peakPowerForChannel : 0 ])) ; lowPassResults = ALPHA * peakPowerForChannel + ( 1.0 - ALPHA ) * lowPassResults ;

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

Página siguiente:
C /C + + Programming
¿Cuáles son las funciones del registro de búfer de memoria?
¿Cuáles son las buenas características para un ahorrador?
Cómo ordenar en una cuadrícula de datos
Cómo ocultar un botón en Visual C
Cómo inicializar matriz 2D en dos estados
¿Qué es Microsoft Visual C + +
Cómo purgar un Reciba Socket búfer en C
Cómo hacer un archivo CFG Con Visual C
Conocimiento de la computadora © http://www.ordenador.online