音声の録音
マイク入力をファイルに取り込みます。
「音声の録音」はCoddyKit上の無料Swift Academyレッスンです。 これはレッスン2/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応の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の選択
録音データはファイルに書き込まれます。documentsディレクトリに、.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()理解度チェック:録音
音声録音についての理解度を確認します。
まとめ:音声を録音する
AVAudioRecorder は、権限をリクエストして録音用の AVAudioSession をアクティベートした後、マイク音声をファイルにキャプチャします。URLと設定用の辞書(形式、サンプルレート、チャンネル数、品質)を指定し、prepareToRecord()、続いて record()/stop() を呼び出します。
レベルをリアルタイムに表示するにはメータリングを有効にし、完了通知にはデリゲートを使います。確認のため、AVAudioPlayer で録音結果を再生します。
よくある質問
「音声の録音」レッスンは無料ですか?
はい。「音声の録音」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、Swift Academyコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 Swift Academyコースには全4レッスンが含まれています。
「音声の録音」で何を学びますか?
マイク入力をファイルに取り込みます。 ブラウザで直接実行するハンズオンコードでSwift Academyを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。
Swift Academyを始めるのに経験は必要ですか?
事前経験は必要ありません。CoddyKitのSwift Academyは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン2/4です。
「音声の録音」レッスンにはどのくらい時間がかかりますか?
ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。
このSwift Academyレッスンでコードを書いて実行できますか?
はい。すべてのSwift Academyレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。