@@ -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