Я пытаюсь написать код для записи звука в течение 2 секунд и автоматически воспроизвести его после завершения записи.В этом коде нет ошибок, но он, похоже, не выполняет запись вообще, а непосредственно переходит в цикл if и печатает «запись успешно ...» и ничего не воспроизводит.
@IBAction func buttonPressedDAF(_ sender: UIButton) {
print("starting DAF...")
let filename = getDirectory().appendingPathComponent("\(fileNameString)")
let settings = [AVFormatIDKey: Int(kAudioFormatAppleLossless),
AVEncoderAudioQualityKey: AVAudioQuality.max.rawValue,
AVEncoderBitRateKey: 320000,
AVNumberOfChannelsKey: 1,
AVSampleRateKey: 12000.0] as [String : Any]
do{
audioRecorder = try AVAudioRecorder(url: filename, settings: settings)
audioRecorder.delegate = self
if(audioRecorder.record(forDuration: 2 ))
{
print("recording succesfull...")
audioRecorder.stop()
audioRecorder = nil
playRecording()
}
}
catch {
print ("failed...")
}
У меня уже естьДо этого немного работал с AV Audio, и у него нет проблем с реализацией Audio Recorder, основанного на кнопках Start, Stop, однако здесь кажется, что функция record (forDurartion:) просто не работает.
Заранее спасибо