0Pricing
Swift Academy · 강의

오디오 녹음

마이크 입력을 파일로 캡처합니다.

오디오 녹음은(는) CoddyKit의 무료 Swift Academy 강의입니다. 이것은 4개 중 2번째 강의입니다. 아래에서 전체 강의를 무료로 읽을 수 있으며, 내장 코드 에디터와 24/7 AI 튜터와 함께 브라우저에서 직접 실습할 수 있습니다. 이 강의는 Swift Academy 학습 경로의 일부이며, 진행 상황이 웹과 CoddyKit 앱에 동기화됩니다. Swift Academy 강의에는 총 4개의 강의가 포함되어 있습니다.

AVAudioRecorder로 녹음하기

AVAudioRecorder는 최소한의 설정으로 마이크의 오디오를 파일에 캡처하므로 음성 메모와 간단한 녹음기에 적합합니다.

import AVFoundation

마이크 권한

녹음하려면 사용자의 권한이 필요합니다. Info.plist에 NSMicrophoneUsageDescription을 추가하고 녹음하기 전에 접근 권한을 요청하세요.

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

오디오 세션 구성

세션 카테고리를 .record 또는 .playAndRecord로 설정하고 활성화하면 시스템이 마이크 입력을 앱으로 전달합니다.

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

파일 URL 선택

녹음은 파일에 기록됩니다. .m4a와 같은 적절한 확장자를 사용해 문서 디렉터리에 URL을 만드세요.

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

녹음기 설정

설정은 AVAudioRecorder 키로 구성된 사전을 통해 형식, 샘플 속도, 채널, 품질을 정의합니다.

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

녹음기 만들기

URL과 설정으로 AVAudioRecorder를 초기화한 다음 prepareToRecord()를 호출해 리소스를 할당합니다.

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

시작과 중지

record()를 호출해 녹음을 시작하고 stop()을 호출해 완료합니다. 중지하면 오디오 파일이 마무리되고 닫힙니다.

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

시간 지정 및 일시 정지 녹음

record(forDuration:)을 사용해 정해진 시간 동안 녹음할 수 있으며, pause() 후 record()를 호출하면 같은 파일에 이어서 녹음할 수 있습니다.

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

음량 측정

isMeteringEnabled를 활성화한 다음 updateMeters()를 호출하고 averagePower(forChannel:)을 읽어 실시간 음량 측정기를 구동합니다.

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

델리게이트

AVAudioRecorderDelegate를 채택하면 녹음이 성공적으로 완료되었는지 또는 인코딩 오류가 발생했는지 알 수 있습니다.

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

결과 재생

녹음한 뒤 같은 URL을 가리키는 AVAudioPlayer로 파일을 재생하면 캡처가 제대로 되었는지 빠르게 확인할 수 있습니다.

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

빠른 확인: 녹음

오디오 녹음에 대한 이해도를 확인해 보세요.

복습: 오디오 녹음

권한을 요청하고 녹음용 AVAudioSession을 활성화한 후 AVAudioRecorder가 마이크 오디오를 파일에 캡처합니다. URL과 설정 사전(형식, 샘플 속도, 채널, 품질)을 제공하고 prepareToRecord()를 호출한 다음 record()/stop()을 호출합니다.

실시간 음량을 확인하려면 음량 측정을 활성화하고, 완료 여부는 델리게이트로 확인하며, 검증을 위해 AVAudioPlayer로 재생합니다.

자주 묻는 질문

“오디오 녹음” 강의는 무료인가요?

네 — “오디오 녹음” 전체 내용을 이 웹사이트에서 무료로 읽을 수 있습니다. 인터랙티브하게 실습하려면(내장 코드 에디터와 24/7 AI 튜터), CoddyKit PRO로 업그레이드하면 Swift Academy 강의 전체를 잠금 해제할 수 있습니다. Swift Academy 강의에는 총 4개의 강의가 포함되어 있습니다.

“오디오 녹음”에서 뭘 배우나요?

마이크 입력을 파일로 캡처합니다. 브라우저에서 직접 실행하는 실습 코드로 Swift Academy을(를) 배우며, 24/7 AI 튜터가 강의를 진행하면서 질문에 답변해줍니다.

Swift Academy을(를) 시작하는 데 경험이 필요한가요?

사전 경험은 필요하지 않습니다. CoddyKit의 Swift Academy은(는) 초급자부터 고급 학습자까지를 위해 구성되어 있으므로, 여기서 시작하거나 처음부터 시작할 수 있으며 자신의 속도대로 진행할 수 있습니다. 이것은 4개 중 2번째 강의입니다.

“오디오 녹음” 강의는 얼마나 걸리나요?

대부분의 CoddyKit 강의는 약 5~10분이 소요됩니다. 각 강의는 간결하고 인터랙티브하여 꾸준한 진행이 가능하며, 웹과 앱에서 중단한 부분부터 바로 시작할 수 있습니다.

이 Swift Academy 강의에서 코드를 작성하고 실행할 수 있나요?

네. 모든 Swift Academy 강의에는 내장 코드 에디터가 포함되어 있으므로, 브라우저에서 바로 실제 코드를 작성하고 실행한 후 즉시 AI 피드백을 받을 수 있습니다 — 로컬 설정이 필요 없습니다.

이 강의의 모든 강의

  1. AVPlayer로 미디어 재생하기
  2. 오디오 녹음
  3. AVAsset과 Composition
  4. SwiftUI에 플레이어 삽입하기
← Swift Academy(으)로 돌아가기