0Pricing
Swift Academy · Aula

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 AVFoundation

Permissã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 30s

Ní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 dB

O 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

  1. Reprodução de Mídia com AVPlayer
  2. Gravação de Áudio
  3. AVAsset e Composição
  4. Incorporação de Reprodutores no SwiftUI
← Voltar para Swift Academy