有没有办法在 ios 中检测来电 Facetime 通话。我尝试了 CTCallCenter
,但它似乎只适用于蜂窝电话通话,不适用于 Facetime 通话。我使用以下代码来检测 Facetime 通话,但没有成功。
self.callCenter = [[CTCallCenter alloc] init];
self.callCenter.callEventHandler = ^(CTCall* myCall) {
NSString *call = myCall.callState;
if ([call isEqualToString:CTCallStateDisconnected])
NSLog(@"Call has been disconnected");
else if([call isEqualToString:CTCallStateDialing])
NSLog(@"Call start");
else if ([call isEqualToString:CTCallStateConnected])
NSLog(@"Call has just been connected");
else if([call isEqualToString:CTCallStateIncoming])
NSLog(@"Call is incoming");
else
NSLog(@"None");
};
有什么帮助吗?
最佳答案
您不需要对每个需要暂停播放的应用进行特定于应用的检测。您应该使用 AVAudioSession
检测任何类型的音频中断并通知您的音乐播放器暂停。
请参阅 Apple 文档中的此图片和说明:
AVAudioSession
gives you control your app’s audio behavior. You can:
Select the appropriate input and output routes for your app
Determine how your app integrates audio from other apps
Handle interruptions from other apps
Automatically configure audio for the type of app your are creating
因此,您可以使用 AVAudioSession
API 来处理任何来电,可以是蜂窝电话或 FaceTime 电话,甚至是 Viber、Tango、Line 等任何第三方电话。
您还可以查看 AddMusic示例应用程序以了解其实现方式。
关于ios - 在 ios 中检测 Facetime 来电,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25722716/