调用 AVAudioRecorder 的初始化程序 - Swift 2.0
Invoking initializer for AVAudioRecorder - Swift 2.0
这似乎是我在过渡到 Swift 2.0 时遇到的问题:
我正在尝试初始化我的 AVAudioRecorder 并且设置参数(我以前设置为 nil)将不再接受它。想法?
*var session = AVAudioSession.sharedInstance()
do{
try session.setCategory(AVAudioSessionCategoryPlayAndRecord)
} catch{
}
audioRecorder = AVAudioRecorder(URL: filePath, settings: nil)
audioRecorder.meteringEnabled = true
audioRecorder.prepareToRecord()
audioRecorder.record()*
它给我错误:**
"Cannot invoke initializer for type 'AVAudioRecorder' with an argument
list type '(URL: NSURL, settings:nil)'."
**
顺便说一句,filePath 是 NSURL 类型。谢谢大家的帮助!
遇到这样的问题时,查看header中的声明:
init(URL url: NSURL, settings: [String : AnyObject]) throws
正如您从该声明中清楚地看到的那样,这一行几乎所有内容都是错误的:
audioRecorder = AVAudioRecorder(URL: filePath, settings: nil)
您不能提供 nil
设置。如果您没有设置,请传递一个空字典。
这是一个throws
初始化器;您必须说 try
并将其包含在 do/catch
结构中。
这似乎是我在过渡到 Swift 2.0 时遇到的问题:
我正在尝试初始化我的 AVAudioRecorder 并且设置参数(我以前设置为 nil)将不再接受它。想法?
*var session = AVAudioSession.sharedInstance()
do{
try session.setCategory(AVAudioSessionCategoryPlayAndRecord)
} catch{
}
audioRecorder = AVAudioRecorder(URL: filePath, settings: nil)
audioRecorder.meteringEnabled = true
audioRecorder.prepareToRecord()
audioRecorder.record()*
它给我错误:**
"Cannot invoke initializer for type 'AVAudioRecorder' with an argument list type '(URL: NSURL, settings:nil)'."
**
顺便说一句,filePath 是 NSURL 类型。谢谢大家的帮助!
遇到这样的问题时,查看header中的声明:
init(URL url: NSURL, settings: [String : AnyObject]) throws
正如您从该声明中清楚地看到的那样,这一行几乎所有内容都是错误的:
audioRecorder = AVAudioRecorder(URL: filePath, settings: nil)
您不能提供
nil
设置。如果您没有设置,请传递一个空字典。这是一个
throws
初始化器;您必须说try
并将其包含在do/catch
结构中。