Grabar audio
Capture la entrada del micrófono en un archivo.
Grabar audio es una lección gratuita de Swift Academy en CoddyKit. Esta es la lección 2 de 4. Puedes leer la lección completa abajo gratuitamente — luego la practicas en el navegador con un editor de código integrado y un tutor de IA 24/7. Forma parte de la ruta de aprendizaje de Swift Academy, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de Swift Academy incluye 4 lecciones en total.
Grabación con AVAudioRecorder
AVAudioRecorder captura el audio del micrófono en un archivo con una configuración mínima, ideal para notas de voz y grabadoras sencillas.
import AVFoundationPermiso del micrófono
La grabación requiere el permiso del usuario. Añada NSMicrophoneUsageDescription a Info.plist y solicite acceso antes de grabar.
AVAudioApplication.requestRecordPermission { granted in
if granted { /* start recording */ }
}Configuración de la sesión de audio
Establezca la categoría de la sesión en .record o .playAndRecord y actívela para que el sistema dirija la entrada del micrófono a su aplicación.
let session = AVAudioSession.sharedInstance()
try session.setCategory(.playAndRecord)
try session.setActive(true)Elección de la URL del archivo
Las grabaciones se escriben en un archivo. Cree una URL en el directorio de documentos con una extensión adecuada, como .m4a.
let dir = FileManager.default.urls(for: .documentDirectory, in: .userDomainMask)[0]
let url = dir.appendingPathComponent("memo.m4a")Ajustes de la grabadora
Los ajustes definen el formato, la frecuencia de muestreo, los canales y la calidad mediante un diccionario de claves de AVAudioRecorder.
let settings: [String: Any] = [
AVFormatIDKey: Int(kAudioFormatMPEG4AAC),
AVSampleRateKey: 44100,
AVNumberOfChannelsKey: 1,
AVEncoderAudioQualityKey: AVAudioQuality.high.rawValue
]Creación de la grabadora
Inicialice AVAudioRecorder con la URL y los ajustes y, después, llame a prepareToRecord() para asignar los recursos.
let recorder = try AVAudioRecorder(url: url, settings: settings)
recorder.prepareToRecord()Inicio y detención
Llame a record() para comenzar y a stop() para finalizar. Al detener la grabación, el archivo de audio se finaliza y se cierra.
recorder.record()
// later
recorder.stop()Grabación temporizada y en pausa
Puede grabar durante una duración fija con record(forDuration:) y usar pause() / record() para reanudar la grabación en el mismo archivo.
recorder.record(forDuration: 30) // stop after 30sNiveles de medición
Active isMeteringEnabled, llame a updateMeters() y lea averagePower(forChannel:) para controlar un medidor de nivel en directo.
recorder.isMeteringEnabled = true
recorder.updateMeters()
let power = recorder.averagePower(forChannel: 0) // in dBEl delegado
Adopte el protocolo AVAudioRecorderDelegate para saber cuándo la grabación finaliza correctamente o se produce un error de codificación.
func audioRecorderDidFinishRecording(_ recorder: AVAudioRecorder,
successfully flag: Bool) {
print("finished: \(flag)")
}Reproducción del resultado
Después de grabar, reproduzca el archivo con AVAudioPlayer apuntando a la misma URL: es una forma rápida de verificar la captura.
let player = try AVAudioPlayer(contentsOf: url)
player.play()Comprobación rápida: grabación
Compruebe su comprensión de la grabación de audio.
Resumen: grabación de audio
AVAudioRecorder captura el audio del micrófono en un archivo después de solicitar el permiso y activar una AVAudioSession de grabación. Proporcione una URL y un diccionario de ajustes (formato, frecuencia de muestreo, canales y calidad), llame a prepareToRecord() y, después, a record()/stop().
Active la medición para obtener niveles en directo, use el delegado para gestionar la finalización y reproduzca el resultado con AVAudioPlayer para verificarlo.
Preguntas frecuentes
¿La lección «Grabar audio» es gratis?
Sí — el texto completo de «Grabar audio» es gratis para leer aquí en la web. Para practicarla de forma interactiva (editor de código integrado y tutor de IA 24/7) y desbloquear el resto del curso de Swift Academy, actualiza a CoddyKit PRO. El curso de Swift Academy incluye 4 lecciones en total.
¿Qué aprenderé en «Grabar audio»?
Capture la entrada del micrófono en un archivo. Practicas Swift Academy con código real que ejecutas directamente en el navegador, y un tutor de IA 24/7 responde tus preguntas mientras trabajas en la lección.
¿Necesito experiencia previa para empezar Swift Academy?
No se requiere experiencia previa. Swift Academy en CoddyKit está estructurado para principiantes hasta estudiantes avanzados, así que puedes empezar aquí o desde el inicio y avanzar a tu ritmo. Esta es la lección 2 de 4.
¿Cuánto tiempo toma la lección «Grabar audio»?
La mayoría de las lecciones de CoddyKit toman alrededor de 5–10 minutos. Cada una es compacta e interactiva, así que avanzas constantemente y retomas exactamente por donde dejaste en la web y la app.
¿Puedo escribir y ejecutar código en esta lección de Swift Academy?
Sí. Cada lección de Swift Academy incluye un editor de código integrado, así que escribes y ejecutas código real directamente en tu navegador y obtienes retroalimentación instantánea de IA — sin configuración local necesaria.
Todas las lecciones de este curso
- Reproducir contenido multimedia con AVPlayer
- Grabar audio
- AVAsset y composición
- Integrar reproductores en SwiftUI