如何设置画中画的初始位置? (AVPictureInPictureController / AVPlayerViewController)

Posted

技术标签:

【中文标题】如何设置画中画的初始位置? (AVPictureInPictureController / AVPlayerViewController)【英文标题】:How to set initial position of Picture in Picture? (AVPictureInPictureController / AVPlayerViewController) 【发布时间】:2016-02-04 08:41:51 【问题描述】:

对于默认模式,当用户启动画中画时,小窗口从最新位置开始(最新的点子窗口关闭位置)。

有没有办法设置起始位置,例如:左上、右上、左下、右下?

【问题讨论】:

【参考方案1】:

无法设置AVPictureInPictureController 的起始位置。

确实没有理由设置位置(它将位于其他应用程序之上,而不是您自己的应用程序之上),并且用户可以随时更改它的位置,不受您的控制。

来自AVPictureInPictureController documentation:

如果应用以用户直接指示之外的方式调用画中画,它将被 App Store 拒绝。

另外,也不建议创建AVPictureInPictureController的子类:

不要继承 AVPictureInPictureController。不支持覆盖此类的方法,并会导致未定义的行为。

无论如何,创建它的功能都需要使用私有 API,这肯定会被 Apple 拒绝。

【讨论】:

我想知道,我是否可以在像 youtube 一样滑动到右下角/底部后触发 pip,如果苹果认为这种用户交互是否为 pip,是否只有交互单击 pip 按钮? @turushan 即使您可以通过这种方式触发画中画,也没有公共 API 可以在所需位置启动画中画。而且,正如我所说,用户可以随时更改画中画的位置。

以上是关于如何设置画中画的初始位置? (AVPictureInPictureController / AVPlayerViewController)的主要内容,如果未能解决你的问题,请参考以下文章

WPF中画虚线

qt 中画线时如何设置笔的颜色和填充

如何设置容量车辆路径问题的初始节点/位置

视频完成后如何将html5视频设置为初始位置?

如何让 OS X 设置 NSWindow 的初始位置

MFC中画直线CDC::LineTo(POINT point)这个函数使用的疑问???