我正在使用此处描述的方法,使用AVPlayer获取AirPlay设备的名称,以检索连接的AirPlay设备的名称。
但AudioSessionGetProperty
和kAudioSession_AudioRouteKey_Outputs
被弃用iOS7。我正在寻找一种替代方法来做到这一点:)
从iOS6开始,AudioSession向您公开currentRoute,它允许检索其端口信息以及侦听audioRouteChangeNotification。(因此您不再需要使用AudioToolbox框架中基于C的API):
NSString* airplayName = [self activeAirplayOutputRouteName];
if (airplayName) {
//airplay is active
}
(您要获取的是currentAudioRoute的portDescription):
- (NSString*)activeAirplayOutputRouteName
{
AVAudioSession* audioSession = [AVAudioSession sharedInstance];
AVAudioSessionRouteDescription* currentRoute = audioSession.currentRoute;
for (AVAudioSessionPortDescription* outputPort in currentRoute.outputs){
if ([outputPort.portType isEqualToString:AVAudioSessionPortAirPlay])
return outputPort.portName;
}
return nil;
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句