diff options
Diffstat (limited to 'platform/ios/app_delegate.mm')
-rw-r--r-- | platform/ios/app_delegate.mm | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/platform/ios/app_delegate.mm b/platform/ios/app_delegate.mm index 32ebf7be44..5a0c57be93 100644 --- a/platform/ios/app_delegate.mm +++ b/platform/ios/app_delegate.mm @@ -105,11 +105,17 @@ static ViewController *mainViewController = nil; // Initialize with default Ambient category. AVAudioSessionCategory category = AVAudioSessionCategoryAmbient; + AVAudioSessionCategoryOptions options = 0; + + if (GLOBAL_GET("audio/general/ios/mix_with_others")) { + options |= AVAudioSessionCategoryOptionMixWithOthers; + } if (sessionCategorySetting == SESSION_CATEGORY_MULTI_ROUTE) { category = AVAudioSessionCategoryMultiRoute; } else if (sessionCategorySetting == SESSION_CATEGORY_PLAY_AND_RECORD) { category = AVAudioSessionCategoryPlayAndRecord; + options |= AVAudioSessionCategoryOptionDefaultToSpeaker; } else if (sessionCategorySetting == SESSION_CATEGORY_PLAYBACK) { category = AVAudioSessionCategoryPlayback; } else if (sessionCategorySetting == SESSION_CATEGORY_RECORD) { @@ -118,11 +124,7 @@ static ViewController *mainViewController = nil; category = AVAudioSessionCategorySoloAmbient; } - if (GLOBAL_GET("audio/general/ios/mix_with_others")) { - [[AVAudioSession sharedInstance] setCategory:category withOptions:AVAudioSessionCategoryOptionMixWithOthers error:nil]; - } else { - [[AVAudioSession sharedInstance] setCategory:category error:nil]; - } + [[AVAudioSession sharedInstance] setCategory:category withOptions:options error:nil]; return YES; } |