ios - AirPlay 镜像的欠扫描问题

标签 ios cocoa-touch airplay

我在使用 AirPlay 时遇到了一些问题。问题是,我正在使用 ATV3 进行开发,而我的电视机支持 1080p。但是当我开始屏幕镜像并接收到 UIScreen 的新实例时,边界和 applicationFrame 都给我一个 720p 的分辨率。

但是当我实际将 subview 移动到负值并且整个屏幕都被覆盖时,它变得很奇怪。因此,从技术上讲,我的 iPhone 以 1080p 流式传输,但 UIScreen 返回的边界扫描不足。

我已经尝试在获取边界或 applicationFrame 之前修改 overscanCompensation(尝试使用所有 3 个可用的 overscanCompensation 值)但我仍然得到相同的结果.

这是我得到的照片(抱歉,我知道这是这个星球上最糟糕的照片,但我正在用我的手机将图像流式传输到 ATV :))

Red view is the 720p reported by the bounds property. 红色 View 是 bounds 报告的 720p。

当我在我的 ATV2 上实际尝试时,它变得更加奇怪(它应该限制为 720p,即使它支持 1080p)并且结果完全相同

无论如何,如果有人知道获取真实屏幕显示以避免在我的应用中放置设置 View 的方法,我将非常感激。

提前致谢:)

最佳答案

当您提到您尝试了所有 3 种overscanCompensation 模式时,我认为您指的是 3 种记录模式:

typedef enum {
UIScreenOverscanCompensationScale,
UIScreenOverscanCompensationInsetBounds,
UIScreenOverscanCompensationInsetApplicationFrame,
} UIScreenOverscanCompensation;

但是,还有第四种模式,虽然不存在,但应该可以解决您的问题:只需将 overscanCompensation 设置为 3

另外,看看这个 SO question .

关于ios - AirPlay 镜像的欠扫描问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15080815/

相关文章:

ios - 如何通过 AirPlay 在 Apple TV 上显示覆盖

php - 在 PHP 服务器上签署 .mobileconfig

ios - ARKit - ARAnchor 到 2D 空间的投影

ios - 如何从麦克风(swift)获得分贝值

objective-c - 在 objective-c 中声明属性和 @property 之间的区别

iphone - 当通过 UIWebView 播放电影,然后通过 Airplay 输出到 AppleTV 时,关闭 iPhone 屏幕会停止播放。为什么?

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

ios - Google Nearby Messages API 破坏了应用程序图标

ios - 我如何知道后台正在运行哪些任务?

objective-c - 如何将值传递给@protocol