Swift Academy · Lektion

Audio aufnehmen

Nehmen Sie Mikrofoneingaben in einer Datei auf.

Lektion 2 von 413 Schritte

Audio aufnehmen ist eine kostenlose Swift Academy-Lektion auf CoddyKit. Dies ist Lektion 2 von 4. Du kannst die komplette Lektion unten kostenlos lesen – dann übst du sie direkt im Browser mit einem integrierten Code-Editor und einem KI-Tutor rund um die Uhr. Sie ist Teil des Swift Academy-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der Swift Academy-Kurs umfasst insgesamt 4 Lektionen.

Aufnehmen mit AVAudioRecorder

AVAudioRecorder nimmt mit minimalem Konfigurationsaufwand Audio über das Mikrofon in einer Datei auf – ideal für Sprachnotizen und einfache Aufnahmegeräte.

import AVFoundation

Mikrofonberechtigung

Für Aufnahmen ist die Erlaubnis der Benutzerin oder des Benutzers erforderlich. Fügen Sie NSMicrophoneUsageDescription zu Info.plist hinzu und fordern Sie den Zugriff vor der Aufnahme an.

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

Audio-Session konfigurieren

Setzen Sie die Kategorie der Session auf .record oder .playAndRecord und aktivieren Sie sie, damit das System den Mikrofoneingang an Ihre App weiterleitet.

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

Eine Datei-URL auswählen

Aufnahmen werden in eine Datei geschrieben. Erstellen Sie im Dokumenteverzeichnis eine URL mit einer passenden Erweiterung wie .m4a.

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

Recorder-Einstellungen

Die Einstellungen legen Format, Samplerate, Kanäle und Qualität über ein Dictionary mit Schlüsseln für AVAudioRecorder fest.

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

Den Recorder erstellen

Initialisieren Sie AVAudioRecorder mit der URL und den Einstellungen und rufen Sie anschließend prepareToRecord() auf, um Ressourcen zu reservieren.

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

Aufnahme starten und stoppen

Rufen Sie zum Starten record() und zum Beenden stop() auf. Beim Stoppen wird die Audiodatei fertiggestellt und geschlossen.

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

Aufnahme mit Zeitbegrenzung und Pause

Mit record(forDuration:) können Sie für eine festgelegte Dauer aufnehmen. Mit pause() und anschließendem record() setzen Sie die Aufnahme in derselben Datei fort.

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

Pegel messen

Aktivieren Sie isMeteringEnabled, rufen Sie anschließend updateMeters() auf und lesen Sie averagePower(forChannel:) aus, um eine Live-Pegelanzeige anzusteuern.

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

Der Delegate

Implementieren Sie AVAudioRecorderDelegate, um zu erfahren, wann die Aufnahme erfolgreich beendet wurde oder ein Codierungsfehler aufgetreten ist.

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

Das Ergebnis abspielen

Spielen Sie die Datei nach der Aufnahme mit einem AVAudioPlayer ab, der auf dieselbe URL verweist – so lässt sich die Aufnahme schnell überprüfen.

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

Schnelltest: Aufnahmen

Testen Sie Ihr Verständnis von Audioaufnahmen.

Zusammenfassung: Audio aufnehmen

AVAudioRecorder nimmt Mikrofon-Audio in einer Datei auf, nachdem Sie die Berechtigung angefordert und eine aufnahmebereite AVAudioSession aktiviert haben. Geben Sie eine URL und ein Dictionary mit Einstellungen an (Format, Samplerate, Kanäle, Qualität), rufen Sie prepareToRecord() und anschließend record()/stop() auf.

Aktivieren Sie die Pegelmessung für Live-Pegel, verwenden Sie den Delegate für den Abschluss und spielen Sie die Aufnahme mit AVAudioPlayer zur Überprüfung ab.

Kostenlos starten

Lerne Swift mit einem KI-Tutor — kostenlos

Schreibe und führe echten Code in deinem Browser aus, bekomme sofortige Hilfe von einem 24/7 KI-Tutor und setze dein Lernen im Web oder in der App fort.

Kurse
122
Lektionen
409

Häufig gestellte Fragen

Ist die Lektion „Audio aufnehmen“ kostenlos?

Ja — der vollständige Text von „Audio aufnehmen“ ist hier im Web kostenlos zu lesen. Um sie interaktiv zu üben (integrierter Code-Editor und 24/7 KI-Tutor) und den Rest des Swift Academy-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der Swift Academy-Kurs umfasst insgesamt 4 Lektionen.

Was lerne ich in „Audio aufnehmen“?

Nehmen Sie Mikrofoneingaben in einer Datei auf. Du übst Swift Academy mit praktischem Code, den du direkt im Browser ausführst, und ein 24/7 KI-Tutor beantwortet deine Fragen während du die Lektion bearbeitest.

Brauche ich Erfahrung, um Swift Academy zu starten?

Keine Vorkenntnisse erforderlich. Swift Academy auf CoddyKit ist für Anfänger bis fortgeschrittene Lernende strukturiert, sodass du hier starten oder von Anfang an beginnen und in deinem eigenen Tempo voranschreiten kannst. Dies ist Lektion 2 von 4.

Wie lange dauert die Lektion „Audio aufnehmen“?

Die meisten CoddyKit-Lektionen dauern etwa 5–10 Minuten. Jede ist kompakt und interaktiv, sodass du stetig Fortschritte machst und genau dort weitermachst, wo du aufgehört hast – im Web und in der App.

Kann ich in dieser Swift Academy-Lektion Code schreiben und ausführen?

Ja. Jede Swift Academy-Lektion enthält einen integrierten Code-Editor, sodass du echten Code direkt in deinem Browser schreibst und ausführst und sofort KI-Feedback erhältst — ohne lokale Einrichtung erforderlich.

Alle Lektionen in diesem Kurs

  1. Medien mit AVPlayer abspielen
  2. Audio aufnehmen
  3. AVAsset und Komposition
  4. Player in SwiftUI einbetten
← Zurück zu Swift Academy