0Pricing
Swift Academy · Leçon

Enregistrer de l’audio

Capturez l’entrée du microphone dans un fichier.

Enregistrer de l’audio est une leçon Swift Academy gratuite sur CoddyKit. Ceci est la leçon 2 sur 4. Tu peux lire la leçon complète ci-dessous gratuitement — puis la pratiquer en direct dans le navigateur avec un éditeur de code intégré et un tuteur IA 24/7. Elle fait partie du parcours d'apprentissage Swift Academy, et ta progression se synchronise sur le web et l'application CoddyKit. Le cours Swift Academy comprend 4 leçons au total.

Enregistrer avec AVAudioRecorder

AVAudioRecorder capture l’audio du microphone dans un fichier avec une configuration minimale — idéal pour les mémos vocaux et les enregistreurs simples.

import AVFoundation

Autorisation d’utiliser le microphone

L’enregistrement nécessite l’autorisation de l’utilisateur. Ajoutez NSMicrophoneUsageDescription à Info.plist et demandez l’accès avant d’enregistrer.

AVAudioApplication.requestRecordPermission { granted in
    if granted { /* start recording */ }
}

Configurer la session audio

Définissez la catégorie de la session sur .record ou .playAndRecord, puis activez-la afin que le système achemine l’entrée du microphone vers votre application.

let session = AVAudioSession.sharedInstance()
try session.setCategory(.playAndRecord)
try session.setActive(true)

Choisir une URL de fichier

Les enregistrements sont écrits dans un fichier. Construisez une URL dans le répertoire des documents avec une extension appropriée, comme .m4a.

let dir = FileManager.default.urls(for: .documentDirectory, in: .userDomainMask)[0]
let url = dir.appendingPathComponent("memo.m4a")

Paramètres de l’enregistreur

Les paramètres définissent le format, la fréquence d’échantillonnage, le nombre de canaux et la qualité au moyen d’un dictionnaire de clés de AVAudioRecorder.

let settings: [String: Any] = [
    AVFormatIDKey: Int(kAudioFormatMPEG4AAC),
    AVSampleRateKey: 44100,
    AVNumberOfChannelsKey: 1,
    AVEncoderAudioQualityKey: AVAudioQuality.high.rawValue
]

Créer l’enregistreur

Initialisez AVAudioRecorder avec l’URL et les paramètres, puis appelez prepareToRecord() pour allouer les ressources.

let recorder = try AVAudioRecorder(url: url, settings: settings)
recorder.prepareToRecord()

Démarrer et arrêter

Appelez record() pour commencer et stop() pour terminer. L’arrêt finalise et ferme le fichier audio.

recorder.record()
// later
recorder.stop()

Enregistrement minuté et mis en pause

Vous pouvez enregistrer pendant une durée fixe avec record(forDuration:), puis utiliser pause() et record() pour reprendre dans le même fichier.

recorder.record(forDuration: 30) // stop after 30s

Mesurer les niveaux

Activez isMeteringEnabled, puis appelez updateMeters() et lisez averagePower(forChannel:) pour alimenter un indicateur de niveau en temps réel.

recorder.isMeteringEnabled = true
recorder.updateMeters()
let power = recorder.averagePower(forChannel: 0) // in dB

Le délégué

Adoptez le protocole AVAudioRecorderDelegate pour savoir quand l’enregistrement se termine correctement ou quand une erreur d’encodage se produit.

func audioRecorderDidFinishRecording(_ recorder: AVAudioRecorder,
                                     successfully flag: Bool) {
    print("finished: \(flag)")
}

Lire le résultat

Après l’enregistrement, lisez le fichier avec AVAudioPlayer en lui indiquant la même URL : c’est un moyen rapide de vérifier la capture.

let player = try AVAudioPlayer(contentsOf: url)
player.play()

Vérification rapide : enregistrement

Vérifiez votre compréhension de l’enregistrement audio.

Récapitulatif : enregistrer de l’audio

AVAudioRecorder capture l’audio du microphone dans un fichier après que vous avez demandé l’autorisation et activé un AVAudioSession d’enregistrement. Fournissez une URL et un dictionnaire de paramètres (format, fréquence d’échantillonnage, canaux, qualité), appelez prepareToRecord(), puis record()/stop().

Activez la mesure des niveaux en temps réel, utilisez le délégué pour la fin de l’enregistrement et relisez le fichier avec AVAudioPlayer pour effectuer une vérification.

Questions Fréquemment Posées

La leçon « Enregistrer de l’audio » est-elle gratuite ?

Oui — le texte complet de « Enregistrer de l’audio » est gratuit à lire ici sur le web. Pour la pratiquer de manière interactive (un éditeur de code intégré et un tuteur IA 24/7) et déverrouiller le reste du cours Swift Academy, passe à CoddyKit PRO. Le cours Swift Academy comprend 4 leçons au total.

Qu'est-ce que j'apprendrai dans « Enregistrer de l’audio » ?

Capturez l’entrée du microphone dans un fichier. Tu pratiques Swift Academy avec du code pratique que tu exécutes directement dans le navigateur, et un tuteur IA 24/7 répond à tes questions au fur et à mesure que tu avances dans la leçon.

Dois-je avoir de l'expérience pour commencer Swift Academy ?

Aucune expérience préalable n'est requise. Swift Academy sur CoddyKit est structuré pour les débutants jusqu'aux apprenants avancés, donc tu peux commencer ici ou depuis le début et avancer à ton rythme. Ceci est la leçon 2 sur 4.

Combien de temps prend la leçon « Enregistrer de l’audio » ?

La plupart des leçons CoddyKit prennent environ 5–10 minutes. Chacune est courte et interactive, tu progresses régulièrement et tu repiques exactement où tu t'es arrêté sur le web et l'app.

Peux-tu écrire et exécuter du code dans cette leçon Swift Academy ?

Oui. Chaque leçon Swift Academy inclut un éditeur de code intégré, tu écris et exécutes du vrai code directement dans ton navigateur et tu reçois des retours IA instantanés — aucune configuration locale requise.

Toutes les leçons de ce cours

  1. Lire des contenus multimédias avec AVPlayer
  2. Enregistrer de l’audio
  3. AVAsset et composition
  4. Intégrer des lecteurs dans SwiftUI
← Retour à Swift Academy