Open
Description
As I am using setAudioRoute to set back to bluetooth and I am not able to switch
await InCallManager.setAudioRoute(‘’,'BLUETOOTH').then((response) => {
})
iOS Native function
RCT_EXPORT_METHOD(setAudioRoute: (NSString *)uuid
inputName:(NSString *)inputName
resolver:(RCTPromiseResolveBlock)resolve
rejecter:(RCTPromiseRejectBlock)reject)
{
#ifdef DEBUG
NSLog(@"[RNCallKeep][setAudioRoutesetAudioRoute] - inputName: %@", inputName);
#endif
@try {
NSError* err = nil;
AVAudioSession* myAudioSession = [AVAudioSession sharedInstance];
if ([inputName isEqualToString:@"Speaker"]) {
BOOL isOverrided = [myAudioSession overrideOutputAudioPort:AVAudioSessionPortOverrideSpeaker error:&err];
if(!isOverrided){
[NSException raise:@"overrideOutputAudioPort failed" format:@"error: %@", err];
}
resolve(@"Speaker");
return;
}
NSArray *ports = [RNInCallManager getAudioInputs];
for (AVAudioSessionPortDescription *port in ports) {
if ([port.portName isEqualToString:inputName]) {
BOOL isSetted = [myAudioSession setPreferredInput:(AVAudioSessionPortDescription *)port error:&err];
if(!isSetted){
[NSException raise:@"setPreferredInput failed" format:@"error: %@", err];
}
resolve(inputName);
return;
}
}
}
@catch ( NSException *e ){
NSLog(@"[RNCallKeep][setAudioRoute] exception: %@",e);
reject(@"Failure to set audio route", e, nil);
}
}
What I tried:
- Setting the setAudioRoute directly
- Setting the route to bluetooth directly from avaudiosessionListener
Metadata
Metadata
Assignees
Labels
No labels