首页 > 解决方案 > 检测 iPhone 连接到的 AirPlay 设备类型

问题描述

有没有办法获取 iPhone 连接的 AirPlay 设备类型?例如,有没有办法知道 iPhone 通过 AirPlay 连接到 HomePod、Apple TV 或 AirPods?我想在我的应用程序中显示 iPhone 连接到的设备的图标(我提供图标)。我已经在某种程度上实现了这一点

let currentRoute = AVAudioSession.sharedInstance().currentRoute
let output = currentRoute.outputs.first!
let portType = output.portType

AVAudioSession.Port仅包含类型airPlay(请参阅所有属性类型的链接)。它不包含诸如homepod, appleTV,.airpods等之类的内容。有没有人可以解决这个问题或任何想法?

标签: iosswiftavaudiosessionairplay

解决方案


自己刚碰到这个,除了检查当前AVAudioSession的AVAudioSession.Port.airPlay之外,还需要检查AVPlayer的isExternalPlaybackActive属性的值。如果是真的,那就是 AirPlaying 视频,如果不是,它只是将音频发送到 HomePod 或耳机。


推荐阅读