AVEncoderAudioQualityKeyは、録音された音声の品質を指定するキーです。値としては、AVAudioQuality列挙型の値を指定します。
以下は、AVAudioRecorderの設定例で、音声品質をhighに設定しています。
let audioSession = AVAudioSession.sharedInstance()
do {
try audioSession.setCategory(.playAndRecord, mode: .default, options: [])
try audioSession.setActive(true)
let settings: [String: Any] = [
AVFormatIDKey: Int(kAudioFormatMPEG4AAC),
AVSampleRateKey: 44100,
AVNumberOfChannelsKey: 2,
AVEncoderAudioQualityKey: AVAudioQuality.high.rawValue
]
audioRecorder = try AVAudioRecorder(url: audioFilename, settings: settings)
} catch {
print("Error setting up audio session or recorder: \(error.localizedDescription)")
}
AVEncoderAudioQualityKeyの値には、.min、.low、.medium、.high、.maxのいずれかが指定可能で、それぞれ以下のような品質に対応します。
.min: 最低品質
.low: 低品質
.medium: 中品質
.high: 高品質
.max: 最高品質
上記の例では、.highを指定しているため、音声品質が高くなります。ただし、高品質なほどファイルサイズが大きくなるため、目的に応じて適切な品質を選択する必要があります。
音声録音って重要な機能だから、しっかり覚えておきたいね!
さて、まずは音声録音の基礎を学ぼう!まずはAVAudioRecorderっていうクラスを使うんだ。これは音声の録音と再生を簡単に扱うことができるよ。AVAudioRecorderを使って録音するには、まず録音セッションの初期化を行う必要があるよ!ここでは、AVAudioSessionを使って録音セッションを初期化するよ!
そして、録音セッションを初期化したら、次はAVAudioRecorderのインスタンスを作成する必要があるよ!AVAudioRecorderを使って録音を開始するには、そのインスタンスを作成し、record()メソッドを呼び出す必要があるよ!
さらに、録音が終了したら、stop()メソッドを呼び出して、録音を停止する必要があるよ!
最後に、録音された音声データをファイルとして保存するには、AVAudioRecorderのインスタンスのfileURLプロパティに、保存先のファイルパスを指定する必要があるよ!
AVFormatIDKeyは、録音するファイルの形式を指定するキーだよ!mp3やm4a、wavなど様々な形式があるから、ファイル形式に合わせて指定してね!
AVEncoderAudioQualityKeyは、録音品質を指定するキーだよ!高品質にすると、ファイルサイズが大きくなっちゃうから、適度な品質に設定しよう!
AVSampleRateKeyは、サンプリングレートを指定するキーだよ!サンプリングレートが高いと音質が良くなるけど、ファイルサイズが大きくなっちゃうから注意してね!
次に、AVAudioRecorderで録音して、保存する方法を解説するよ〜!
まずは、録音するためのオブジェクトを作成するよ!そして、保存するためのパスを指定するよ!
録音が始まったら、ファイルを保存するよ!
これで録音と保存が完了したよ!簡単でしょ〜!
以上が、音声録音の基本的な手順だよ!音声録音は、慣れるまでちょっと難しいかもしれないけど、がんばって覚えよう!