我尝试为AVAudioSession
类别添加选项:
let session = AVAudioSession.sharedInstance()
let options = .MixWithOthers.toRaw()|.DefaultToSpeaker.toRaw()
if session.setCategory(AVAudioSessionCategoryPlayAndRecord,
withOptions: options,
error: &error){
...
}
我也试过
let options = .MixWithOthers|.DefaultToSpeaker
但它给了我同样的错误。
如何组合这些选项?
答案 0 :(得分:7)
您实际上需要|
周围的空格。
let options = .MixWithOthers | .DefaultToSpeaker
此外,使用.rawValue
而不是.rawValue()
(使用最新的xcode)
答案 1 :(得分:3)
选项的类型为AVAudioSessionCategoryOptions
,
但是在
let options = .MixWithOthers | .DefaultToSpeaker
编译器无法从上下文中推断出类型。你可以写
let options = AVAudioSessionCategoryOptions.MixWithOthers | AVAudioSessionCategoryOptions.DefaultToSpeaker
或
let options : AVAudioSessionCategoryOptions = .MixWithOthers | .DefaultToSpeaker
或
session.setCategory(AVAudioSessionCategoryPlayAndRecord,
withOptions: .MixWithOthers | .DefaultToSpeaker , error: &error)