HarmonyOS 鸿蒙Next中屏幕录制时有没有办法使其跳过picker弹窗

HarmonyOS 鸿蒙Next中屏幕录制时有没有办法使其跳过picker弹窗 录制模式为OH_CAPTURE_SPECIFIED_WINDOW时,指定了具体的屏幕和窗口,为什么还会弹出picker呢?有没有办法使其跳过picker弹窗?

std::vector<int32_t> idVec;

idVec.push_back(windowId); // 这里可以根据实际情况添加任务ID

OH_VideoCaptureInfo videoCapInfo = {
    .displayId = 0,
    .missionIDs = &idVec[0],
    .missionIDsLen = static_cast<int32_t>(idVec.size()),
    .videoFrameWidth = 1280,
    .videoFrameHeight = 720,
    .videoSource = OH_VIDEO_SOURCE_SURFACE_RGBA,
};


更多关于HarmonyOS 鸿蒙Next中屏幕录制时有没有办法使其跳过picker弹窗的实战教程也可以访问 https://www.itying.com/category-93-b0.html

6 回复

传一个窗口Id的指定窗口模式(OH_CAPTURE_SPECIFIED_WINDOW)下,PC/2in1设备弹出Picker选择弹窗并根据传入的窗口Id选中对应窗口。最终录屏内容以Picker弹出后,用户在弹窗上的选择为准。

OH_CAPTURE_SPECIFIED_WINDOW模式,传入多个窗口Id。

PC/2in1设备不弹Picker选择界面,弹出隐私允许/不允许弹窗,可同时录制多个窗口;

传入多个窗口不会弹

https://developer.huawei.com/consumer/cn/doc/harmonyos-guides/using-avscreencapture-for-buffer#pc2in1设备录屏窗口选择界面规格说明

更多关于HarmonyOS 鸿蒙Next中屏幕录制时有没有办法使其跳过picker弹窗的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


速度来个大佬解答下啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊daifgbsgbakjghbkghk

找HarmonyOS工作还需要会Flutter的哦,有需要Flutter教程的可以学学大地老师的教程,很不错,B站免费学的哦:BV1S4411E7LY/?p=17

这里说窗口模式不弹picker,但实际还是弹了cke_140.png

在HarmonyOS鸿蒙Next中,屏幕录制时跳过picker弹窗可以通过使用WindowManageraddWindow接口设置窗口类型为TYPE_ACCESSIBILITY_OVERLAY实现。这个窗口类型会悬浮在系统UI之上但不会被录制。具体实现中需要声明ohos.permission.SYSTEM_FLOAT_WINDOW权限,并在代码中设置窗口的WindowType属性。这种方式可以确保picker弹窗不会出现在屏幕录制的视频中。

在HarmonyOS Next中,当使用OH_CAPTURE_SPECIFIED_WINDOW模式进行屏幕录制时,即使指定了窗口ID,系统仍会弹出picker弹窗。这是由于当前版本的安全策略限制导致的,系统会强制要求用户手动确认录制权限。

目前没有公开的API可以完全跳过这个picker弹窗。这是系统设计的隐私保护机制,确保用户对录屏操作有明确的知情权和选择权。

若确实需要自动化处理,可以考虑以下技术方案:

  1. 检查是否已获取必要的权限(如ohos.permission.CAPTURE_SCREEN)
  2. 确保windowId参数正确有效
  3. 在代码中处理picker弹窗的自动确认(需要系统级权限)

请注意,绕过系统安全机制可能会违反应用商店审核政策,建议遵循系统默认行为以确保应用合规性。

回到顶部