我们正在构建一个iOS应用,用户可以在订阅模式下观看视频。
我们不希望用户将视频播放到任何其他设备。
视频正在UIWebView中播放。
我检查了各种在线资源:
上述选项无效。
此外,我尝试了这段代码,但它总是返回1.
if ([[UIScreen screens] count] < 2)) {
//streaming
}
else {
//mirroring
}
我也试过这段代码:
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(receiveAirPlayNotification:) name: UIScreenDidConnectNotification object:nil];
此通知系统仅在我启动应用程序然后启用Airplay时才有效。如果我打开Airplay然后启动应用程序,则无法检测到任何内容。
我需要检测应用启动时是否启用了镜像功能。我见过其他应用程序这样做,所以我相信这是可能的。
请帮忙。
答案 0 :(得分:2)
尝试此解决方案。
- (BOOL)isAirplayOn
{
AVAudioSession* audioSession = [AVAudioSession sharedInstance];
AVAudioSessionRouteDescription* currentRoute = audioSession.currentRoute;
for (AVAudioSessionPortDescription* outputPort in currentRoute.outputs){
if ([outputPort.portType isEqualToString:AVAudioSessionPortAirPlay])
return YES;
}
return NO;
}