Swift:共享扩展中的音频记录仅在首次运行时起作用

问题描述

我正在使用AVAudioRecorder进行录制以在共享扩展名中录制音频。首次运行时效果很好,但是从那里我无法录制其他音频。

var audioRecorder            : AVAudioRecorder?

在viewdidload上

     let dirPath = NSSearchPathForDirectoriesInDomains(.documentDirectory,.userDomainMask,true)
     let docDir = dirPath[0]
     let soundFilePath = (docDir as Nsstring).appendingPathComponent("sound.wav")
     soundFileURL = NSURL(fileURLWithPath: soundFilePath) as URL
     print(soundFilePath)

     //Setting for recorder
    let recordSettings = [AVEncoderAudioQualityKey: AVAudioQuality.max.rawValue,AVEncoderBitRateKey: 16,AVNumberOfChannelsKey : 2,AVSampleRateKey: 44100.0] as [String : Any] as [String : Any] as [String : Any] as [String : Any]
     var error : NSError?
     let audioSession = AVAudioSession.sharedInstance()
     do {
        try audioSession.setCategory(AVAudioSessionCategoryPlayAndRecord)
        self.audioRecorder = try AVAudioRecorder(url: soundFileURL!,settings: recordSettings as [String : AnyObject])
     } catch _ {
         print("Error")
     }

     if let err = error {
         print("audioSession error: \(err.localizedDescription)")
     }else{
         self.audioRecorder?.preparetoRecord()
         
     }

在记录按钮上单击

    self.audioRecorder?.record()

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...