AVAudioQuality是一个枚举类型,用于设置录音的质量。不同的AVAudioQuality选项会对最终录音的质量产生影响。
首先,我们需要创建一个AVAudioRecorder实例来进行录音。然后,我们可以设置AVAudioQuality选项来指定录音的质量。以下是一个示例代码:
import AVFoundation
func startRecording() {
let audioSession = AVAudioSession.sharedInstance()
do {
try audioSession.setCategory(.playAndRecord, mode: .default, options: [])
try audioSession.setActive(true)
let settings = [
AVFormatIDKey: Int(kAudioFormatMPEG4AAC),
AVSampleRateKey: 44100,
AVNumberOfChannelsKey: 2,
AVEncoderAudioQualityKey: AVAudioQuality.high.rawValue
]
let audioURL = getAudioURL()
let audioRecorder = try AVAudioRecorder(url: audioURL, settings: settings)
audioRecorder.record()
} catch {
print("Failed to start recording: \(error.localizedDescription)")
}
}
func getAudioURL() -> URL {
let documentsDirectory = FileManager.default.urls(for: .documentDirectory, in: .userDomainMask)[0]
let audioFilename = documentsDirectory.appendingPathComponent("recording.m4a")
return audioFilename
}
在上述代码中,我们使用了AVAudioQuality.high选项来设置录音的质量。根据官方文档,AVAudioQuality.high表示高质量的音频录制。
其他可用的AVAudioQuality选项包括:
根据需求选择适合的选项,不同的选项会影响录音的质量和文件的大小。