iOS 强制音频仅输出到耳机插孔
iOS Force Audio Output only to headset jack
我想将 iOS VoiceOver 声音定向到耳机,即使它没有插入。
换句话说,当我的应用程序打开时,VoiceOver 声音(以及我在应用程序中使用 AVSpeechUtterance
等播放的其他声音)永远不会进入扬声器,但应该从耳机中发出,如果已连接.
任何人都可以对此提出建议吗?
iOS 设备不会为音频输出打开耳机插孔,除非当前已将可识别的(适当的阻抗等)耳机插入插孔。
VoiceOver 音频将始终进入耳机,如果插入了有效的耳机,并且没有被覆盖。
显然不可能强制将声音导向头部phone,除非将配件插入头部phone插孔(激活物理开关将声音导向头部phone) .
我使用以下代码(在 Swift 中)实现了我的目的,该代码将 VoiceOver 和其他声音定向到 phone 扬声器(我们从那里收听 phone 通话)并静音我的应用程序在前台时扬声器很大。
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")
}
我想将 iOS VoiceOver 声音定向到耳机,即使它没有插入。
换句话说,当我的应用程序打开时,VoiceOver 声音(以及我在应用程序中使用 AVSpeechUtterance
等播放的其他声音)永远不会进入扬声器,但应该从耳机中发出,如果已连接.
任何人都可以对此提出建议吗?
iOS 设备不会为音频输出打开耳机插孔,除非当前已将可识别的(适当的阻抗等)耳机插入插孔。
VoiceOver 音频将始终进入耳机,如果插入了有效的耳机,并且没有被覆盖。
显然不可能强制将声音导向头部phone,除非将配件插入头部phone插孔(激活物理开关将声音导向头部phone) .
我使用以下代码(在 Swift 中)实现了我的目的,该代码将 VoiceOver 和其他声音定向到 phone 扬声器(我们从那里收听 phone 通话)并静音我的应用程序在前台时扬声器很大。
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")
}