AirPlay:通过显示可用设备弹出窗口重定向音频

AirPlay: redirect audio by showing the available devices popup

我正在尝试实现与 Music.app 相同的 AirPlay 按钮。该按钮显示一个弹出窗口,其中包含可用设备列表,用户可以 select 重新路由音频。

在搜索我的问题时,我发现 MPVolumeView 但这不是 Music.app 使用的内容。甚至控制中心也在使用该弹出窗口。

如何在我的应用程序中显示该弹出窗口?

更新:

我在 AppStore 应用程序中也看到了相同的弹出窗口,所以它应该是 Public API。

AVRoutePickerView在iOS11+中可用,提供了这个接口。

AVRoutePicketView 就像一个 UIButton,它在模拟器中工作:

let routePickerView = AVRoutePickerView(frame: .init(x: 0, y: 0, width: 40, height: 40))
routePickerView.tintColor = .white
view.addSubview(routePickerView)

如果您的应用支持旧版本的 iOS,那么您需要检查您的应用 运行 所在的 iOS 版本并使用旧版本 MPVolumeView如有必要(MPVolumeView 在模拟器中不起作用!)。