【问题标题】:How to get the AirPlay device name without using iOS7 deprecated methods如何在不使用 iOS7 弃用方法的情况下获取 AirPlay 设备名称
【发布时间】:2014-07-18 12:54:07
【问题描述】:

我正在使用Get name of AirPlay device using AVPlayer 此处描述的方法来检索连接的 AirPlay 设备的名称。

AudioSessionGetPropertykAudioSession_AudioRouteKey_Outputs 在 iOS7 中已被弃用。我正在寻找另一种方法来做到这一点:)

【问题讨论】:

    标签: ios ios7 airplay


    【解决方案1】:

    从 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;
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-08-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多