问题标签 [android-picture-in-picture]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
26 浏览

android - 提交可搜索查询后,Pip 正在关闭

当启用 pip 并且用户想要搜索某些内容时,我有一个边缘情况,pip 将被解雇(当用户提交包含多个项目的查询时)。搜索组件基于<searchable>并且我们曾经SearchViewListener 从搜索视图组件中获取反馈。

当我将返回值更改为 true 时,pip 不会被解除,但我遇到另一个问题,当您在单击项目后单击返回时,您将返回到主要活动,而不是之前的回归列表。我想知道是否有不同的解决方案不涉及重写整个搜索列表结果只是为了支持 pip

谢谢

更新

我今天有更多的时间来玩代码,我想我找到了 pip 关闭的原因。我们正在启用语音搜索

当我删除这两条线时,点子不会关闭并继续播放没有任何问题。我想知道是否有人有这个问题或知道如何解决它。我们还针对 API 级别 30。

0 投票
0 回答
142 浏览

android - android画中画不覆盖我的特殊视图

我在我的活动中使用这样的gridlayout(命名为'tableView')

在此处输入图像描述

这是我创建此网格布局的方法:

我的tableView工作良好,即使旋转到横向模式,只有在 pip 模式下有问题

在进入 pip 模式之前,我会计算tableView比率以确保 pip 覆盖我的tableView

onPictureInPictureModeChanged被调用时,我隐藏了 toolBar + videoView 并只显示图像

但这是输入 pip 时的结果:

在此处输入图像描述

不能正确显示我的tableView,但是当我点击这个 pip 时,它会放大并按我的预期显示结果:

在此处输入图像描述

有人可以帮我知道是什么问题吗?提前致谢

0 投票
0 回答
39 浏览

android - 在 PIP 模式下 GLSurfaceView 的表面尺寸变得太大

我正在使用 GLSurfaceView 创建一个录制应用程序,但是当我进入 PIP 模式时,GLSurfaceView 的 Surface 太大,因此无法很好地看到屏幕。

看图片。
[1]:https ://i.stack.imgur.com/GYebT.jpg [2]:https ://i.stack.imgur.com/XUlhA.jpg

两个屏幕都在拍摄同一个场景。如图所示,对于 PIP 模式,屏幕被放大。

VideoCallFragment.xml

VideoCallFragment.java

清单.xml

如何使屏幕在 PIP 模式下看起来保持原始比例?

0 投票
0 回答
432 浏览

android - 大家好,如何在 React Native Home Button Pressed 上实现 PiP(画中画)视频?我无法在 React Native 中正确显示画中画视频

当我按下 android 主页按钮时,通过本机模块播放 pip 视频并传递视频 url 和视频的当前持续时间,并且本机模块接受该参数和意图给 Video Activity。在 Video Activity OnCreate 方法中,我尝试显示 PiP 视频。当我按下在反应本机图标上,画中画模式显示,但我无法返回反应本机视图。当我按下 Android 主页按钮时,画中画模式无法显示。

PiPModule.java

}

在 React-Native 组件中的使用

画中画活动

}

0 投票
0 回答
27 浏览

android - 吐司在 PictureInPicture 模式下看起来很奇怪

我正在使用画中画,我的应用会显示一些 Toast 来吸引用户注意重要事件。当活动处于完整模式时,吐司看起来很好,但是当在 PictureInPicture 中显示时,系统会尝试将吐司放在超紧的边距中,使它们不可读。

我认为这是因为我在活动上下文中显示它们,这些活动现在非常小,但奇怪的是,Toast 甚至没有出现在 PiP 窗口的顶部,而是出现在屏幕的中心,一如既往,同时都被挤在一起.

如果有人知道快速修复我将非常感激

0 投票
0 回答
37 浏览

java - 画中画,我使用下面的广播接收器进行媒体控制

@RequiresApi(api = Build.VERSION_CODES.O) @Override public void onPictureInPictureModeChanged(boolean isInPictureInPictureMode, Configuration newConfig) { if (isInPictureInPictureMode) { pipReceiver = new BroadcastReceiver() { @Override public void onReceive(Context context, Intent intent) { if (intent == null || !ACTION_MEDIA_CONTROL.equals(intent.getAction())) { return; }

0 投票
0 回答
41 浏览

android-fragments - VideoCall应用程序与PipMode问题android

我正在开发一个像往常一样具有 VideoCall 功能的聊天应用程序。对于我的视频通话

  1. RoomActivity 和 RoomViewModel
  2. 在 RoomActivity 里面我有一个 RoomFragment,它通过 activityViewModels 拥有 RoomViewModel

RoomActivity 负责处理意图并连接到 Room

在 RoomFragment 内部,我拥有参与者和其他视图的 UI 状态

我对上述实现有两个问题

  1. 当我进入 PipMode 时,一切正常。但是,当有人单击 PipMode 窗口的关闭按钮时,呼叫并未结束。相反,pip 窗口消失了,但调用仍然存在并且可以通过通知访问。我想要的是结束通话。我可以在哪个回调中做到这一点?我应该在哪里捕捉它,在 Fragment 中还是在 Activity 中?

  2. 关闭 pipWindow 并通过通知进入 RoomActivity 后,我无法访问 UI 元素,因为从日志中可以看出,initViews 方法永远不会被调用。我应该把 initViews 放在哪里?

编辑:

当我比较其他著名和已知的聊天时,当他们的视频通话进入 PipMode 并且我按下 X 按钮时,视频通话没有结束。相反,有一个通知可供单击并返回活动。因此,关闭呼叫的唯一方法是通过 UI 元素(即使这是在 PipMode 中),而不是使用 Pip 的 X 按钮。

所以现在的帖子是关于第二个问题

0 投票
0 回答
158 浏览

android - Android12 - StartActivity 在画中画模式扩展后无法正常工作

我正在开发一个使用 Android 画中画模式的应用程序。

MainActivity 有一个按钮,可以启动其他一些活动(只需将意图触发到另一个活动)。当我进入 PIP 模式并展开 MainActivity 时会出现此问题,现在当我单击按钮时,新的 Activity 大约需要 7-8 秒才能可见。此外,如果重复该模式,则活动的意图将被完全忽略,并且 SampleActivity 永远不会启动。

在 Android-12 下一切正常。发生在 Pixel 设备上(因为 12 目前仅在像素上可用。)

这是示例代码片段(具有相同问题的示例项目代码)。

清单文件:

画中画模式:

按钮点击意图

尝试使用清单标志/配置,但没有运气。请提供必要的建议。

0 投票
0 回答
26 浏览

android - 在系统画中画中更改权限的 Android 最佳实践?

这是我遇到的障碍。我有一个应用程序可以进行视频通信,并利用系统画中画 (PiP) 来在用户导航手机的其他部分时保持进程活跃。我们已使用最佳做法实现了摄像头和麦克风的权限。但是,如果用户在应用处于系统画中画中时导航到应用设置并更改它们,应用就会崩溃。

我注意到同样的行为(在系统画中画中修改应用程序权限时崩溃)发生在谷歌拥有的应用程序 YouTube 上,理论上会使用最佳实践,所以我相信没有办法绕过它。但我想我会联系更大的社区,看看是否有解决方法。甚至更优雅的方式来处理崩溃。

可靠的再现步骤(对于我的应用程序,但也可以在 YouTube、Netflix 和其他支持 PiP 的视频流应用程序中看到):

  • 运行应用程序并开始播放视频
  • 背景应用程序,以便视频以画中画的形式播放
  • 导航到应用程序的设置并尝试修改权限
  • 请注意,它会崩溃

我假设答案将是“没有办法解决这个问题”,但我想在我放弃修复崩溃之前确定。