2

This code was working fine in other project in swift 2.3. But As I am trying to implement it in swift 3.0, I am getting EXC_BAD_ACCESS. in

 audioRecorder = try AVAudioRecorder(url: self.directoryURL() as! URL , settings: settings)

Code:

func setUpAudioRecording()

{
    let audioSession = AVAudioSession.sharedInstance()
    do {
        try audioSession.setCategory(AVAudioSessionCategoryPlayAndRecord)
        try audioSession.setActive(true)
        let settings = [
            AVFormatIDKey: Int(kAudioFormatMPEG4AAC),
            AVSampleRateKey: 44100,
            AVNumberOfChannelsKey: 2,
            AVEncoderAudioQualityKey: AVAudioQuality.high.rawValue
        ]

        audioRecorder = try AVAudioRecorder(url: self.directoryURL() as! URL , settings: settings)
        audioRecorder.delegate = self
        audioRecorder.isMeteringEnabled = true
        audioRecorder.prepareToRecord()
    }
    catch let error
    {
        print(error.localizedDescription)
    }

    }

    func directoryURL() -> NSURL? {
        let path = NSSearchPathForDirectoriesInDomains(.documentDirectory, .userDomainMask, true)[0] as String
        let url = NSURL(fileURLWithPath: path)
        let audioURL = url.appendingPathComponent("recording.3gp")
        return audioURL as NSURL?
    }
Cœur
  • 37,241
  • 25
  • 195
  • 267
Bhupesh Kumar
  • 369
  • 2
  • 18

0 Answers0