使用 swift 我们可以以编程方式在 Apple TV 上播放照片吗?
Posted
技术标签:
【中文标题】使用 swift 我们可以以编程方式在 Apple TV 上播放照片吗?【英文标题】:using swift can we airplay photos on Apple TV programmatically? 【发布时间】:2019-05-10 10:31:58 【问题描述】:我想在 ios 中使用 swift 构建一个简单的应用程序,它会在我的应用程序中显示专辑的照片,单击按钮时它应该会在我的 Apple TV 上播放。
我阅读了很多文件和文章,但不确定我们是否可以为照片做这件事。很少有人说音频/视频是可能的,但不确定照片。
至少任何链接或示例代码都会有所帮助。
谢谢
【问题讨论】:
看看这个链接***.com/questions/8231868/…不确定是否会工作 没有用户交互就没有 API 可以做到。如果您使用 AV 框架显示照片,您可以使用 AVRoutePickerView 让用户从您的应用中选择目的地。 @Paulw11,请帮忙!我可以镜像应用程序屏幕而不是以编程方式快速显示照片/视频吗?以编程方式在支持 Airplay 的/智能电视上镜像 ios 应用程序有什么想法吗? @Paulw11,如果可能的话,请在这里发表评论,我还没有得到确切的开始线索。 issuetracker.google.com/issues/188566061?pli=1 我不相信有任何 api 可以以编程方式镜像设备屏幕。用户需要通过控制中心进行操作。闪电转 hdmi 适配器会自动镜像屏幕。 【参考方案1】:用户应通过 AirPlay 连接到控制中心的 Apple TV:
然后您可以将 Apple TV 用作应用程序的第二个屏幕。
检查应用是否有外接显示器:
if UIScreen.screens.count > 1
// External display is connected ...
为外部窗口创建新的 UIScreen:
if let externalScreen = UIScreen.screens.last
externalWindow = UIWindow()
externalWindow.screen = externalScreen
configureExternalWindow(externalWindow)
externalWindow.isHidden = false
并根据需要使用它来显示相册:
// In our Collection View selection callback
if inSingleDisplayMode
photoViewController.photo = photo
navigationController?.pushViewController(photoViewController, animated: true)
else
showOnExternalDisplay(photo)
WWDC 会议上的其他信息:
Adding Delight to your iOS App
AirPlay and External Displays in iOS apps
【讨论】:
谢谢,例如,让我试试,我会更新。 @Anton,我可以镜像应用程序屏幕,而不是在 swift 中以编程方式快速显示照片/视频吗?在支持airplay/智能电视上镜像ios应用程序有什么想法吗?以上是关于使用 swift 我们可以以编程方式在 Apple TV 上播放照片吗?的主要内容,如果未能解决你的问题,请参考以下文章
你能以编程方式在iOS 8(w / Swift)中切换“请勿打扰”模式吗?