美文网首页
About AVAudioRecorder Stop issue

About AVAudioRecorder Stop issue

作者: Kare | 来源:发表于2016-12-28 16:09 被阅读260次

    基于xCode8.2.1 Swift3.0 开发科大讯飞时,当录音没有完成时就取消,就会出现以下问题显示“AVAudioSession.mm:1074:-[AVAudioSession setActive:withOptions:error:]:” Deactivating an audio session that has running I/O. All I/O should be stopped or paused prior to deactivating the audio session."

    这是我的停止录音方法,结果会报错

    func stopRecoreder() {
    
            recorder.stop()
            let audioSessions = AVAudioSession.sharedInstance()
            
            do {
                try audioSessions.setActive(false)
                print("stop!!")
            } catch {
            }
        }
    

    后来找到了方法

    第一步,停止方法改成以下方法

    func stopRecoreder() {
            self.recorder.stop()
            self.recorder.prepareToRecord()
        }
    

    第二步

    实现AVAudioRecorder的delegate方法

    func audioRecorderDidFinishRecording(_ recorder: AVAudioRecorder, successfully flag: Bool) {
            do {
               try audioSession.setActive(false)
            } catch {
                print(error)
            }
        }
    
    

    然后问题搞定,不再报错。

    相关文章

      网友评论

          本文标题:About AVAudioRecorder Stop issue

          本文链接:https://www.haomeiwen.com/subject/vubyvttx.html