在 Swift 中将 AirPlay 集成到 iOS 应用程序

Posted

技术标签:

【中文标题】在 Swift 中将 AirPlay 集成到 iOS 应用程序【英文标题】:Integrating AirPlay to iOS app in Swift 【发布时间】:2018-02-20 15:10:41 【问题描述】:

我想通过 AirPlay 播放广播流(到 AppleTV)。我已经研究了很多与这个主题相关的内容,但我发现文档真的很差。

这是 AirPlay 2 的 Apple 文档:https://developer.apple.com/documentation/avfoundation/airplay_2/getting_airplay_2_into_your_app

我发现AVRoutePickerView只能在ios 11之后使用。在iOS 11以下,需要使用MPVolumeView

我检查了 iOS 版本,集成了这些类,演员正在工作,不要买我想要的

播放时电视上出现黑屏,我无法控制演员表的音量

谁能告诉我如何简单明了地将 AirPlay 集成到 iOS 应用中?任何帮助将不胜感激。

【问题讨论】:

【参考方案1】:

问题是我在 AVPlayer 对象上设置了 allowsExternalPlaybacktrue。此属性在早期版本的 iOS(直到 6.0)中的“祖先”,更有意义的名称是:allowsAirPlayVideo

所以如果您在播放器上调用此allowsExternalPlayback = false黑屏消失,您可以控制广播的音量

【讨论】:

不,但据我所知,您必须在播放器实例上将此属性设置为 false:developer.apple.com/documentation/avfoundation/avplayer/…

以上是关于在 Swift 中将 AirPlay 集成到 iOS 应用程序的主要内容,如果未能解决你的问题,请参考以下文章

iOS - 如何在 Swift 中显示“AirPlay”弹出菜单?

将 AirPlay 添加到 AVAudioPlayer (Swift)

如何在 ios 中将数据类型声明为时间戳 - swift

iOS13和外屏镜像

如何将 AirPlay 集成到我的应用程序中?

Airplay 不能与 Swift 的 AVRoutePicker 一起使用,但可以与 Objective C 一起使用