Я использую AVAudioRecorder, как это:
@discardableResult
func startRecording(at path: String) -> Bool {
print("[AudioRecorder] startRecording at path: \(path)")
self.path = path
try? FileManager.default.removeItem(atPath: path)
let session = AVAudioSession.sharedInstance()
audioCategory = session.category
do {
if audioCategory.rawValue != AVAudioSession.Category.playAndRecord.rawValue {
try session.setCategory(.playAndRecord)
}
try session.setActive(true, options: [])
self.session = session
let settings: [String : Any] = [
AVSampleRateKey: 44100,
AVFormatIDKey: Int(kAudioFormatMPEG4AAC),
AVLinearPCMBitDepthKey: 16,
AVNumberOfChannelsKey: 2,
AVEncoderAudioQualityKey: AVAudioQuality.high.rawValue
]
recorder = try AVAudioRecorder(url: fileURL, settings: settings)
recorder.do {
$0.isMeteringEnabled = true
$0.prepareToRecord()
}
let success = recorder.record()
isRecording = success
return success
} catch let error {
print("[AudioRecorder] [ERROR] message: \(error.localizedDescription)")
return false
}
}
Но у меня возникли некоторые проблемы, в начале файла записи есть «скороговорка»: Файл на GitHub . (На странице есть немое видео, и я не думаю, что это что-то изменит.) Что с этим не так?