ich den folgenden Code versuche swift 2 verwenden, die in schnellen 1.swift2 AVAudioRecorder
class NewSoundViewController: UIViewController {
required init(coder aDecoder: NSCoder) {
let audioURL = NSURL.fileURLWithPathComponents([
NSSearchPathForDirectoriesInDomains(.DocumentDirectory, .UserDomainMask, true)[0],
"MyAudio.m4a"
])
do {
let session = AVAudioSession.sharedInstance()
try session.setCategory(AVAudioSessionCategoryPlayAndRecord)
} catch {
print("Session errors.")
}
do {
let recordSettings: [String: AnyObject] = [
AVFormatIDKey: kAudioFormatMPEG4AAC,
AVSampleRateKey: 44100.0,
AVNumberOfChannelsKey: 2,
]
self.audioRecorder = try AVAudioRecorder(URL: audioURL!, settings: recordSettings)
self.audioRecorder.meteringEnabled = true
self.audioRecorder.prepareToRecord()
} catch let error as NSError{
print(error.description)
} catch {
print("Other errors")
}
super.init(coder: aDecoder)
}
sollte in Ordnung sein Ich habe kompilieren Fehler
Typ 'AudioFormatID' entspricht nicht Protokoll ‚ANYOBJECT ‚`
an der Linie AVFormatIDKey: kAudioFormatMPEG4AAC,
.
Wenn ich die Zeile aus kommentieren, ging ich zu bauen, bekam aber einen Laufzeitfehler
Fehler Domain = NSOSStatusErrorDomain Code = 1718449215 „Der Vorgang konnte nicht abgeschlossen werden. (OSStatus Fehler 1718449215.)“
ich habe auch versucht AVFormatIDKey: NSNumber(unsignedInt: kAudioFormatMPEG4AAC),
und Laufzeitfehler bekam. Xcode schien den Debug-Modus gehen sie rot self.audioRecorder = try AVAudioRecorder(URL: audioURL!, settings: recordSettings)
hervorgehoben und sagte
Gewinde 1: EXC_BAD_ACCESS (code = 1, Adresse = 0x0)
Kann jemand mir bitte helfen?
Hmmm ... Ich ausgedruckt 'audioURL' und es zeigte' MyAudio.m4a' so ich nehme an, es ist nicht Null. –
Ich habe Ihren Code getestet und es läuft gut auf dem Gerät. Sie haben wahrscheinlich nur ein Problem mit dem Simulator, weil Sie dort nicht aufnehmen können. – matt
Leider funktioniert es weder für mein iPhone noch für den Simulator. Danke für deine Tests trotzdem! –