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

Cómo detectar el golpe del Mic en xCode

2013/10/25
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
Funciones Iomanip
Cómo escribir varias líneas a un archivo en C
Cómo convertir C + + ASCII a UTF8
Cómo cerrar un bucle usando C + +
Cómo hacer una cadena C
Cómo crear DropDownList con clave Buscar en C
¿Cómo revertir el orden de un vector en C + +
Descripción de la función del sistema C
Conocimientos Informáticos © http://www.ordenador.online