SwiftでAudioRecorderを使い基本的な録音機能の設定と使用方法について解説します。
参考となるコードはGitHubに載せておりますので参考にしてください。
オーディオセッションの設定
try audioSession.setCategory(.record, mode: .default, options: [])
try audioSession.setActive(true)
ここでは、AVAudioSession
を設定しています。オーディオセッションは、オーディオの振る舞いを管理するためのものです。
最初の引数がCategoryで今回のように録音を設定したい場合は .record
もしくは .playAndRecord
を指定します
modeはただ録音したい場合は default
で問題ありません。
https://developer.apple.com/documentation/avfaudio/avaudiosession/category
https://developer.apple.com/documentation/avfaudio/avaudiosession/mode
録音ファイルの保存場所の指定
let documentsDirectory = FileManager.default.urls(for: .documentDirectory, in: .userDomainMask)[0]
録音ファイルを保存する場所を指定しています。
ここでは、FileManager
を使用してドキュメントディレクトリのURLを取得し、その中に録音ファイルを保存します。
録音の開始
do {
audioRecorder = try AVAudioRecorder(url: recordingURL!, settings: settings.asDictionary())
audioRecorder?.record()
} catch {
print("Error starting audio recording: \(error.localizedDescription)")
throw error
}
AVAudioRecorder
のインスタンスを生成し、指定したURLに録音を開始します。
settings
パラメータでは、録音の品質やフォーマットなどを指定できます。
録音の停止
public func stopRecording() async throws {
audioRecorder?.stop()
}
録音を停止するには、stop()
メソッドを呼び出します。これにより、現在進行中の録音が終了し、ファイルに保存されます。
この記事では、Swiftでの基本的な録音プロセスを説明しました。さまざまな設定や機能を追加することで、アプリのニーズに合わせた録音機能を実装することができます。