如何在不使用iOS7弃用方法的情况下获取AirPlay设备名称

弗洛普

我正在使用此处描述的方法,使用AVPlayer获取AirPlay设备的名称,以检索连接的AirPlay设备的名称。

AudioSessionGetPropertykAudioSession_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] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

在不使用CaptiveNetwork弃用框架的情况下,如何在Swift 2.0中获取ssid?

如何在不使用位置的情况下获取设备的区号

如何在不使用方法字符串名称的情况下获取Java中的Method对象

如何在不升级您的nib文件的情况下使用iOS7控件?

如何在不使用Java扩展名的情况下获取File对象的名称?

如何在不使用AND的情况下从多行获取ID

如何在不使用已弃用的 retryWhen 的情况下在 RxJs 中延迟重试?

如何在不使用Android中的getLastKnownLocation方法的情况下获取当前经纬度?

如何在2020年不使用XCode且不下载任何配置文件的情况下获取设备UDID

如何在不使用核心位置服务的情况下获取用户的当前城市名称?

如何在不使用已弃用的 Gdk.Screen.get_width() 的情况下在 Python/GTK 中获取总屏幕大小?

如何在不使用 Firestore 的情况下使用 FCM 向用户设备推送通知

在不使用异常的情况下获取调用类的名称

如何在不使用Azure门户的情况下获取DocumentDB磁盘使用情况

在不使用__call的情况下获取调用的方法名称

在不使用弃用的“转义”调用的情况下,在JavaScript中转换为Base64

在不使用`--depwarn = no`或软件包的情况下,禁止在Julia 0.6中弃用警告

如何在不使用本机长度方法的情况下获取javascript中字符串的长度

如何在不使用约束名称的情况下从中删除主键

数组对象数组,如何在不使用属性名称的情况下访问单个元素?

如何在不使用for循环的情况下将向量更改为相应的名称

如何在不使用DisplayNameAttribute的情况下更改ViewModel显示名称?

如何在不使用 isalpha 的情况下验证 C 中的名称?

如何在不使用XMPP或任何其他脚本的情况下使用FCM发送设备到设备通知?

如何在不使用履行的情况下获取Dialogflow以使用ANY输入触发意图

如何在不使用PSUtil的情况下获取python 2.7中的CPU使用率

如何在不使用numpy或tensorflow中使用任何循环的情况下获取矩阵行?

如何在不使用“无”的情况下使用BeautifulSoup获取数据?

如何在不使用过多内存的情况下用Java处理大型数据集