我正在开发一个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/

10-12 06:45