Forráskód Böngészése

Fix low volume sound output on iOS when Play and Record category is used.

Leonardo Demartino 1 éve
szülő
commit
d5a3a9aea6
1 módosított fájl, 7 hozzáadás és 5 törlés
  1. 7 5
      platform/ios/app_delegate.mm

+ 7 - 5
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;
 }