有没有办法改变VoiceOver输出通道?

时间:2017-03-20 14:32:17

标签: ios avfoundation accessibility voiceover

有没有办法(swift3 / objc)在[耳机,扬声器,BT,......]之间重定向VoiceOver的输出?

因为我所看到的API文档没有关于频道更改的任何信息......

我们希望能够在用户收听耳机上的VoiceOver反馈时录制语音(或者,如果他们愿意,可以更改它)。

2 个答案:

答案 0 :(得分:1)

在iOS上,所有声音都会路由到默认音频路径以启动,包括VoiceOver。当连接新的音频路线(例如蓝牙耳机)时,可以使用两个额外的VoiceOver选项。首先,VoiceOver rotor中会出现一个“目的地”选项,用户可以选择系统的音频路线。其次,“设置”应用中“VoiceOver”设置的“声音”部分包括选择单独的“语音通道”和“声道”的选项。您甚至可以将语音输出限制为路径的单个通道,这样您就可以在一只耳朵中听音乐,在另一只耳朵中听到VoiceOver输出。

在Mac上,这是VoiceOver Utility中用户可配置的设置。

您无法在任一平台上以编程方式重定向VoiceOver输出。这可能是由于可能造成的灾难性用户体验。想象一下,将您的视觉输出重定向到壁橱中未插入的设备。你将如何恢复对计算机的控制?

Screenshot of the Sound tab of VoiceOver Utility

答案 1 :(得分:0)

您可以在AVAudioSession中使用overrideOutputAudioPort来重定向VoiceOver。假设您的模式设置为playAndRecord。