1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Swiftでの音声録音方法:AVAudioRecorderの活用

Posted at

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での基本的な録音プロセスを説明しました。さまざまな設定や機能を追加することで、アプリのニーズに合わせた録音機能を実装することができます。

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?