Les partenaires publicitaires:

Comment détecter le coup du micro sur xcode

Xcode programmation à la demande d'Apple permet aux programmeurs une connaissance de C et Objective-C programmation développer des applications pour l'iOS et OS X plates-formes. Si vous développez une application pour un appareil iOS et que vous souhaitez que l'application soit capable de détecter quand un utilisateur souffle dans le microphone, il ya une façon très spécifique pour coder l'application pour lui permettre de le faire. Ce code consiste à permettre l'application de recevoir entrée du microphone, l'échantillonnage du niveau sonore et de raconter l'application pour écouter le bruit de quelqu'un soufflant dans le microphone, qui peuvent tous être mis en œuvre dans l'application Xcode.

Instructions

  1. Lancez Xcode et ouvrez le projet basé sur la vue que vous voulez détecter lorsqu'un utilisateur souffle dans le microphone.

  2. Cliquez sur la flèche située à gauche de la "Cibles" l'option, puis à droite; cliquez sur l'élément qui est nommé d'après l'application. Par exemple, si l'application est nommé "GenericGame," l'article sera nommé "GenericGame." Déplacez le curseur de votre souris sur le "Ajouter" et sélectionner l'option "Cadres existants ..." option.

  3. Cliquez sur le "+" bouton, sélectionnez le "AVFoundation.framework" option et cliquez sur le "Ajouter" bouton.

  4. Cliquez sur la flèche à gauche du dossier nommé d'après le projet. Par exemple, si le projet est nommé "GenericGame," cliquez sur la flèche située à gauche de la "GenericGame" dossier. Cliquez sur la flèche vers la gauche de la "Classes" le dossier et cliquez sur le "ViewController.h" déposer pour afficher le contenu du fichier.

  5. Ajoutez les deux lignes de code suivantes directement sous la "import " ligne de code:

    importation
    l'importation.
  6. Ajoutez la ligne de code suivante directement sous la "interface MicBlowViewController: UIViewController {" ligne de code:
    * Recorder-AVAudioRecorder.



  7. Ajoutez le code suivant directement sous la "[Super viewDidLoad] -" ligne de code:
    NSURL * url = [NSURL fileURLWithPath: @"/ Dev / null"];

    &N ° 9-NSDictionary * Paramètres = [dictionaryWithObjectsAndKeys NSDictionary:
    &# 9- &# 9- [NSNumber numberWithFloat: 44100,0], AVSampleRateKey,
    &# 9- &# 9- [NSNumber numberWithInt: kAudioFormatAppleLossless], AVFormatIDKey,
    &# 9- &# 9- [NSNumber numberWithInt: 1], AVNumberOfChannelsKey,
    &# 9- &# 9- [NSNumber numberWithInt: AVAudioQualityMax], AVEncoderAudioQualityKey,
    &# 9- nil];

    &# 9-NSError * erreur;

    &# 9-enregistreur = [[AVAudioRecorder alloc] initWithURL: paramètres url: erreur de paramètres:&error];




    &# 9-si (enregistreur) {
    &# 9-&# 9- [enregistreur prepareToRecord] -
    &# 9-&# 9-recorder.meteringEnabled = OUI-
    &# 9-&# 9- [fiche d'enregistrement] -
    &# 9-} else
    &# 9-&# 9-NSLog ([description de l'erreur]) -.

  8. Ajoutez la ligne de code suivante directement sous la "- (Void) {dealloc" ligne de code:
    [Enregistreur de presse] -.

  9. Ajoutez le code suivant directement sous la "AVAudioRecorder Recorder-" ligne de code:
    NSTimer
    levelTimer-
    }

    • (Void) levelTimerCallback: (NSTimer *) minuterie;
    • Ajoutez la ligne de code suivante directement sous la "[Document de l'enregistreur] -" ligne de code:
      levelTimer = [NSTimer scheduledTimerWithTimeInterval: 0,03 cible: auto sélecteur:selector (levelTimerCallback :) userInfo: néant répétitions: OUI] -.

    • Cliquez sur le projet de "ViewController.m" déposer pour afficher son contenu. Entrez le code suivant dans le fichier de ViewController.m:

      • (Void) levelTimerCallback: (NSTimer *) minuterie {
        &# 9- [enregistreur updateMeters] -
        &# 9-NSLog (@"Entrée moyenne:% f entrée de pointe:% f", [Enregistreur averagePowerForChannel: 0], [enregistreur peakPowerForChannel: 0]) -
        }
      • Ajoutez le code suivant directement sous la "- (Void) {dealloc" ligne de code:
        [Communiqué levelTimer] -.

      • Cliquez sur le projet de "ViewController.h" déposer pour afficher son contenu. Ajoutez le code suivant directement sous la "NSTimer * levelTimer-" ligne de code:
        à double lowPassResults-.

      • Localisez la section de code qui commence avec la ligne "- (Void) levelTimerCallback: (NSTimer *) minuterie {" et se termine par "}." Remplacer cette section de code avec le code suivant:

        • (Void) listenForBlow: (NSTimer *) minuterie {
          &# 9- [enregistreur updateMeters];
        • &# 9-const à double ALPHA = 0.05-
          &# 9 double peakPowerForChannel = pow (10, (0,05 [enregistreur peakPowerForChannel: 0])) -
          &# 9-lowPassResults = ALPHA
          peakPowerForChannel + (1,0 - ALPHA) * lowPassResults;

          &# 9 (si lowPassResults gt; 0,95)
          &# 9-&# 9-NSLog (@"Coup Mic détecté") -
          }

        » » » » Comment détecter le coup du micro sur xcode