我想将iOS VoiceOver声音指向耳机,即使它没有插入耳机。
换句话说,当我的应用程序处于打开状态时,VoiceOver声音(以及我在应用程序中使用AVSpeechUtterance
等播放的其他声音)应该永远不会发送到扬声器,但如果已连接,则应该从耳机中取出。< / p>
有人可以对此提出一些建议吗?
答案 0 :(得分:1)
除非已识别(适当的阻抗等)耳机或耳机插入插孔,否则iOS设备无法启动耳机插孔以进行音频输出。
如果插入了有效的音频,VoiceOver音频将始终转到耳机,而不是过度使用。
答案 1 :(得分:1)
显然,除非将配件插入耳机插孔(激活物理开关以将声音指向耳机),否则无法将声音强制导向耳机。
我使用以下代码(在Swift中)实现了我的目的,该代码将VoiceOver和其他声音指向电话扬声器(从我们收听电话的地方)并在我的应用程序处于前台时使扬声器静音。
let session: AVAudioSession = AVAudioSession.sharedInstance()
do {
try session.setCategory(AVAudioSessionCategoryPlayAndRecord)
try session.overrideOutputAudioPort(AVAudioSessionPortOverride.None)
try session.setActive(true)
} catch {
print("Couldn't override output audio port")
}