Gravação de Áudio
Capture a entrada do microfone em um arquivo.
Gravação de Áudio é uma aula grátis de Swift Academy no CoddyKit. Esta é a aula 2 de 4. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de Swift Academy, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de Swift Academy inclui 4 aulas no total.
Gravando com AVAudioRecorder
AVAudioRecorder captura áudio do microfone para um arquivo com configuração mínima — ideal para memorandos de voz e gravadores simples.
import AVFoundationPermissão do microfone
A gravação exige a permissão do usuário. Adicione NSMicrophoneUsageDescription ao Info.plist e solicite o acesso antes de gravar.
AVAudioApplication.requestRecordPermission { granted in
if granted { /* start recording */ }
}Configurando a sessão de áudio
Defina a categoria da sessão como .record ou .playAndRecord e ative-a para que o sistema encaminhe a entrada do microfone para o seu aplicativo.
let session = AVAudioSession.sharedInstance()
try session.setCategory(.playAndRecord)
try session.setActive(true)Escolhendo uma URL de arquivo
As gravações são gravadas em um arquivo. Construa uma URL no diretório de documentos com uma extensão adequada, como .m4a.
let dir = FileManager.default.urls(for: .documentDirectory, in: .userDomainMask)[0]
let url = dir.appendingPathComponent("memo.m4a")Configurações do gravador
As configurações definem o formato, a taxa de amostragem, os canais e a qualidade por meio de um dicionário de chaves de AVAudioRecorder.
let settings: [String: Any] = [
AVFormatIDKey: Int(kAudioFormatMPEG4AAC),
AVSampleRateKey: 44100,
AVNumberOfChannelsKey: 1,
AVEncoderAudioQualityKey: AVAudioQuality.high.rawValue
]Criando o gravador
Inicialize AVAudioRecorder com a URL e as configurações e, depois, chame prepareToRecord() para alocar os recursos.
let recorder = try AVAudioRecorder(url: url, settings: settings)
recorder.prepareToRecord()Iniciando e parando
Chame record() para começar e stop() para terminar. Parar finaliza e fecha o arquivo de áudio.
recorder.record()
// later
recorder.stop()Gravação temporizada e pausada
Você pode gravar por uma duração fixa com record(forDuration:) e usar pause() / record() para continuar no mesmo arquivo.
recorder.record(forDuration: 30) // stop after 30sNíveis de medição
Ative isMeteringEnabled, depois chame updateMeters() e leia averagePower(forChannel:) para controlar um medidor de nível ao vivo.
recorder.isMeteringEnabled = true
recorder.updateMeters()
let power = recorder.averagePower(forChannel: 0) // in dBO delegado
Adote AVAudioRecorderDelegate para saber quando a gravação termina com sucesso ou quando ocorre um erro de codificação.
func audioRecorderDidFinishRecording(_ recorder: AVAudioRecorder,
successfully flag: Bool) {
print("finished: \(flag)")
}Reproduzindo o resultado
Depois da gravação, reproduza o arquivo com AVAudioPlayer apontado para a mesma URL — uma maneira rápida de verificar a captura.
let player = try AVAudioPlayer(contentsOf: url)
player.play()Verificação rápida: gravação
Teste sua compreensão sobre gravação de áudio.
Recapitulação: gravando áudio
AVAudioRecorder captura o áudio do microfone em um arquivo depois que você solicita a permissão e ativa uma AVAudioSession de gravação. Forneça uma URL e um dicionário de configurações (formato, taxa de amostragem, canais e qualidade), chame prepareToRecord() e, depois, record()/stop().
Ative a medição para obter níveis ao vivo, use o delegado para saber quando a gravação termina e reproduza o áudio com AVAudioPlayer para verificar o resultado.
Perguntas Frequentes
A aula “Gravação de Áudio” é grátis?
Sim — o texto completo de “Gravação de Áudio” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de Swift Academy, atualize para CoddyKit PRO. O curso de Swift Academy inclui 4 aulas no total.
O que vou aprender em “Gravação de Áudio”?
Capture a entrada do microfone em um arquivo. Você pratica Swift Academy com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.
Preciso ter experiência prévia para começar Swift Academy?
Nenhuma experiência prévia é necessária. Swift Academy no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 2 de 4.
Quanto tempo leva a aula “Gravação de Áudio”?
A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.
Posso escrever e executar código nesta aula de Swift Academy?
Sim. Cada aula de Swift Academy inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.
Todas as aulas deste curso
- Reprodução de Mídia com AVPlayer
- Gravação de Áudio
- AVAsset e Composição
- Incorporação de Reprodutores no SwiftUI