I have this function:
func audioRecordingSettings() -> NSDictionary {
return [
AVFormatIDKey : kAudioFormatMPEG4AAC as NSNumber,
AVSampleRateKey : 16000.0 as NSNumber,
AVNumberOfChannelsKey : 1 as NSNumber,
AVEncoderAudioQualityKey : AVAudioQuality.Medium.rawValue as NSNumber
]
}
Then I defined another:
func startRecordingAudio() {
var error: NSError?
let audioRecordingURL = self.audioRecordingPath()
audioRecorder = AVAudioRecorder(URL: audioRecordingURL, settings: audioRecordingSettings(), error: &error)
//Here the error comes.
}
It asks me to add as [NSObject: AnyObject]
after the audioRecordingSetthings()
, I don't think that's the correct solution.
Because when I called startRecordingAudio()
in another class
, it crashes with Unexpectedly found nil
.
You just need to add
audioRecordingSettings() as [NSObject : AnyObject]
in theAVAudioRecorderDelegate
:Additionally I would change your method to: