Ich entwickle eine VOIP-App, die es Menschen ermöglicht, VOIP-Anrufe zu tätigen. Wenn ein Benutzer einen VoIP-Anruf tätigt und auf seinem Telefon einen nativen Anruf empfängt, funktioniert der Ton der VoIP-App nicht mehr.Nativer eingehender Anruf tötet den Zugriff meiner VoIP-App auf Audio
Ich habe gelesen, dass man die AudioSession reinitialisieren muss und ich mache das mit diesem Code-Block, aber das funktioniert nicht. Irgendwelche Vorschläge?
self.callCenter = [[CTCallCenter alloc] init];
[self handleCall];
- (void)handleCall
{
AVAudioSession *session = [AVAudioSession sharedInstance];
self.callCenter.callEventHandler = ^(CTCall *call){
if ([call.callState isEqualToString: CTCallStateConnected])
{
}
else if ([call.callState isEqualToString: CTCallStateDialing])
{
}
else if ([call.callState isEqualToString: CTCallStateDisconnected])
{
NSLog(@"Call ended");
dispatch_after(dispatch_time(DISPATCH_TIME_NOW, 2 * NSEC_PER_SEC), dispatch_get_main_queue(), ^{
[session setActive:YES error:nil];
});
}
else if ([call.callState isEqualToString: CTCallStateIncoming])
{
NSLog(@"Call received");
}
};
}