我正在创建一个仅执行外拨呼叫的CallKit应用程序。 我们正在做自己的界面,而不是使用内置的UI。 我需要在屏幕上放一个扬声器按钮,从扬声器/无扬声器模式切换。
我遵循了Apple的指南和示例CallKit代码和 它似乎运作良好。
我找不到有关如何切换到扬声器模式的信息。我正在使用以下功能来更改音频路由。 有没有人有这方面的经验?这可行吗?
func speaker(on: Bool) {
let audioSession = AVAudioSession.sharedInstance()
do {
// not sure I need this ...
try audioSession.setCategory(AVAudioSessionCategoryPlayAndRecord)
if on {
// does this trigger a change to the audio route?
try audioSession.overrideOutputAudioPort(.speaker)
} else {
// is this how to switch back to the phone speaker?
try audioSession.overrideOutputAudioPort(.none)
}
} catch {
// Audio session change failure
print("failed to change speaker phone")
}
}
答案 0 :(得分:0)
您需要在do块的末尾添加以下内容:audioSession.setActive(true)