我正在开发一个iOS应用程序(iOS 11.2版)
我正在开发录音,并移动到另一个视图时,我按停止。
但以下功能不起作用。
(录音机IDfinishrecording)
我试过谷歌搜索,但我在短期英语技能漫游了很多。
请给我很多建议。
class RecordSoundsViewController: UIViewController, AVAudioRecorderDelegate {
var audioRecorder: AVAudioRecorder!
@IBAction func stopRecording(_ sender: Any) {
stopRecordingButton.isEnabled = false
recordButton.isEnabled = true
recordingLabel.text = "Tap to Record"
audioRecorder.stop()
// audioRecorder = nil
let audioSession = AVAudioSession.sharedInstance()
try! audioSession.setActive(false)
// performSegue(withIdentifier: "stopRecording", sender: audioRecorder.url)
}
func audioRecorderDidFinishRecording(_ recorder: AVAudioRecorder, successfully flag: Bool) {
if flag {
performSegue(withIdentifier: "stopRecording", sender: audioRecorder.url)
} else {
print("recording was not successful")
}
}
最佳答案
查看您的代码,很可能您还没有为AVAudioRecorder
分配代理。
无论您在哪里初始化AVAudioRecorder
实例,请在下面尝试:
audioRecorder.delegate = self
关于ios - 为什么audioRecorderDidFinishRecording函数不起作用?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/48970960/