0

谢谢你的时间。

我对 iPhone 中的扬声器控件有疑问。我们在 iPhone 中有两个扬声器:

  1. 耳机----当我们在耳朵边打电话时,我们有扬声器
  2. 底部扬声器----当我们播放音乐时,声音来自底部扬声器

我的疑问是:我已经使用了两个 UISwitches,它们是 Ear_speaker、Bottom_Speaker。

如果我在播放时打开 Ear_speaker,声音应该只来自 Ear_speaker,如果我关闭 Ear 扬声器,声音不应该来自 Ear 扬声器。

Bottom_Speaker 的功能也相同。

4

1 回答 1

2

设置您的音频会话

[[AVAudioSession sharedInstance] setDelegate:self];
[[AVAudioSession sharedInstance] setCategory:AVAudioSessionCategoryPlayAndRecord error:nil];
[[AVAudioSession sharedInstance] setActive:YES error:nil];

在 UISwitch 中实现它:

这会将音频路由更改为底部扬声器:

UInt32 audioRouteOverride = kAudioSessionOverrideAudioRoute_Speaker;

AudioSessionSetProperty (
                         kAudioSessionProperty_OverrideAudioRoute,
                         sizeof (audioRouteOverride),
                         &audioRouteOverride                                               
                         );

这会将音频路由更改为“耳机”:

UInt32 audioRouteOverride = kAudioSessionOverrideAudioRoute_None;

AudioSessionSetProperty (
                         kAudioSessionProperty_OverrideAudioRoute,
                         sizeof (audioRouteOverride),
                         &audioRouteOverride                                               
                         );
于 2013-04-19T08:57:53.953 回答