Skip to content

Commit a51cb74

Browse files
committed
fix(ios): The getAudioRoutes changes the selected audio route react-native-webrtc#540
1 parent 51f8d9a commit a51cb74

1 file changed

Lines changed: 15 additions & 14 deletions

File tree

ios/RNCallKeep/RNCallKeep.m

Lines changed: 15 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -505,6 +505,21 @@ + (void)setup:(NSDictionary *)options {
505505
}
506506

507507
NSArray *ports = [RNCallKeep getAudioInputs];
508+
509+
BOOL isCategorySetted = [myAudioSession setCategory:AVAudioSessionCategoryPlayAndRecord withOptions:AVAudioSessionCategoryOptionAllowBluetooth error:&err];
510+
if (!isCategorySetted)
511+
{
512+
NSLog(@"[RNCallKeep][setAudioRoute] setCategory failed");
513+
[NSException raise:@"setCategory failed" format:@"error: %@", err];
514+
}
515+
516+
BOOL isCategoryActivated = [myAudioSession setActive:YES error:&err];
517+
if (!isCategoryActivated)
518+
{
519+
NSLog(@"[RNCallKeep][setAudioRoute] setActive failed");
520+
[NSException raise:@"setActive failed" format:@"error: %@", err];
521+
}
522+
508523
for (AVAudioSessionPortDescription *port in ports) {
509524
if ([port.portName isEqualToString:inputName]) {
510525
BOOL isSetted = [myAudioSession setPreferredInput:(AVAudioSessionPortDescription *)port error:&err];
@@ -570,20 +585,6 @@ + (NSArray *) getAudioInputs
570585

571586
AVAudioSession* myAudioSession = [AVAudioSession sharedInstance];
572587

573-
BOOL isCategorySetted = [myAudioSession setCategory:AVAudioSessionCategoryPlayAndRecord withOptions:AVAudioSessionCategoryOptionAllowBluetooth error:&err];
574-
if (!isCategorySetted)
575-
{
576-
NSLog(@"[RNCallKeep][getAudioInputs] setCategory failed");
577-
[NSException raise:@"setCategory failed" format:@"error: %@", err];
578-
}
579-
580-
BOOL isCategoryActivated = [myAudioSession setActive:YES error:&err];
581-
if (!isCategoryActivated)
582-
{
583-
NSLog(@"[RNCallKeep][getAudioInputs] setActive failed");
584-
[NSException raise:@"setActive failed" format:@"error: %@", err];
585-
}
586-
587588
NSArray *inputs = [myAudioSession availableInputs];
588589
return inputs;
589590
}

0 commit comments

Comments
 (0)