我正在尝试使用Xcode 10在Swift 4 iOS 12中播放声音。我有一个已经在其中完成项目,并且正在从该项目复制代码。
但是现在执行以下代码时:
try AVAudioSession.sharedInstance().setCategory(AVAudioSession.Category.playAndRecord, mode: .default)
在此确切的行中出现以下错误:
类型“ AVAudioSession.Category”(也称为“ NSString”)没有成员“ playAndRecord”
我已经导入了AVFoundation,所以我不知道这是行不通的。
答案 0 :(得分:2)
您可以使用“ AVAudioSessionCategoryPlayAndRecord”
答案 1 :(得分:0)
我遇到了同样的问题,我在swift v4中工作,而您使用的代码适用于Swift 4.2 您必须使用以下字符串AVAudioSessionCategoryPlayAndRecord代替playAndRecord
let audioSession = AVAudioSession.sharedInstance()
do {
try audioSession.setCategory(AVAudioSessionCategoryPlayAndRecord, mode: AVAudioSessionModeVoiceChat, options: AVAudioSessionCategoryOptions.mixWithOthers)
try audioSession.overrideOutputAudioPort(.none)
try audioSession.setActive(true)
} catch {
debugPrint(error.localizedDescription)
}
}
答案 2 :(得分:0)
您可以从Apple网站上查阅代码。 AVAudioSession Apple document
let audioSession = AVAudioSession.sharedInstance()
do {
try audioSession.setCategory(AVAudioSessionCategoryPlayAndRecord)
} catch {
print("Setting category to AVAudioSessionCategoryPlayAndRecord failed.")
}