Я использую метод, описанный здесь AVPlayer для получения имени подключенного устройства AirPlay.
Но AudioSessionGetProperty
и kAudioSession_AudioRouteKey_Outputs
устарели в iOS7. Я ищу альтернативный метод сделать это :)
Я использую метод, описанный здесь AVPlayer для получения имени подключенного устройства AirPlay.
Но AudioSessionGetProperty
и kAudioSession_AudioRouteKey_Outputs
устарели в iOS7. Я ищу альтернативный метод сделать это :)
Начиная с iOS6 AudioSession предоставляет вам currentRoute, что позволяет получать информацию о его порте, а также прослушивать audioRouteChangeNotification. (поэтому вам больше не нужно использовать API на основе C из среды AudioToolbox):
NSString* airplayName = [self activeAirplayOutputRouteName];
if (airplayName) {
//airplay is active
}
(то, что вы хотите получить, это portDescription currentAudioRoute):
- (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;
}