HarmonyOS鸿蒙Next中乐橙监控为什么不能显示多屏幕同时显示,只能显示单屏幕,非常不方便,以前都行啊!

HarmonyOS鸿蒙Next中乐橙监控为什么不能显示多屏幕同时显示,只能显示单屏幕,非常不方便,以前都行啊! 乐橙监控为什么不能显示多屏幕同时显示,只能显示单屏幕,非常不方便,以前都行啊!
图片


更多关于HarmonyOS鸿蒙Next中乐橙监控为什么不能显示多屏幕同时显示,只能显示单屏幕,非常不方便,以前都行啊!的实战教程也可以访问 https://www.itying.com/category-93-b0.html

7 回复

用了这一部华为Pura8+以后就不行了。其余的都可以。

更多关于HarmonyOS鸿蒙Next中乐橙监控为什么不能显示多屏幕同时显示,只能显示单屏幕,非常不方便,以前都行啊!的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


乐橙监控在多屏幕显示方面出现问题,可能涉及以下技术原因及解决方案。结合鸿蒙(HarmonyOS)开发特性分析如下:

⚙️ 可能原因分析

1.屏幕状态监听未生效

应用未正确监听屏幕增减或状态变化(如折叠屏切换、外接屏幕接入),导致无法动态创建多窗口。

参考[搜索结果4]:需通过 display.on(‘add’|‘remove’|‘change’)监听设备屏幕变化,并在回调中更新显示逻辑。

2.窗口映射管理缺失

多窗口场景下未建立 SurfaceID与显示窗口的映射关系,导致无法将视频流送显到指定窗口。

参考[搜索结果2]:应在 OnSurfaceCreateCB回调中将 XComponent的 SurfaceID存入映射表(如 Map),解码时按需选择目标窗口。

3.窗口模式适配不足

未适配折叠屏多形态(如三折叠设备的单屏态/F态、双屏态/M态、三屏态/G态),不同形态下的窗口尺寸、断点规则未正确配置。

参考[搜索结果3]1:需根据设备折叠状态动态调整窗口布局策略(如分栏布局、重复布局)。

4.沉浸式布局冲突

全屏模式下未调用 setWindowSystemBarEnable接口,导致状态栏隐藏后无法通过点击恢复(影响窗口切换操作)。

参考[搜索结果1]:应在 Video组件的点击事件中显式调用该接口控制状态栏显隐。

🛠️ 解决方案建议

1.动态监听屏幕变化

注册屏幕增删事件,自动创建/销毁对应窗口:3

// 监听屏幕增加事件
let callback: Callback<number> = (displayId: number) => {
  console.log(`New screen added: ${displayId}`);
  // 创建新窗口并初始化视频流
};
display.on('add', callback);

2.实现窗口-Surface映射

在 XComponent回调中管理窗口与 SurfaceID的关系:

let surfaceMap: Map<string, window.Surface> = new Map();
// OnSurfaceCreate回调
onSurfaceCreated(surfaceId: string) {
  let nativeWindow = ohNativeWindow.createFromSurfaceId(surfaceId);
  surfaceMap.set("window1", nativeWindow); // 存入映射表
}
// 解码时指定目标窗口
avDecoder.setOutputSurface(surfaceMap.get("window1"));

3.适配折叠屏多形态

根据设备折叠状态选择布局策略(参考[搜索结果5]):

折叠状态 推荐布局模式 断点规则
单屏态 纵向悬浮窗 (351×575vp) 横向sm / 纵向md
双屏态 左右分屏 (1:1比例) 横向sm / 纵向lg
三屏态 自由窗口 (可拖动调整) 横向md / 纵向sm

4.显式控制状态栏

全屏模式下启用点击恢复功能:

videoComponent.onClick(() => {
  window.getLastWindow().then((win) => {
    win.setWindowSystemBarEnable(["status"]); // 显示状态栏
  });
});

💡 优化方向

自由窗口模式:参考[搜索结果5],开启 自由多窗模式支持窗口拖拽调整(需调用 setWindowMode(WINDOW_MODE_FLOATING))。

旋转策略适配:在双屏/三屏态下锁定屏幕方向(AUTO_ROTATION_RESTRICTED),避免布局错乱。

避让区动态调整:根据窗口横竖屏变化实时更新安全区域(参考沉浸式适配文档)。

摄像头是双摄像头吗?我的摄像头是双摄像头可以显示,固定和移动的。主界面可以设置,

这部华为Pura8+后就不行了,以前的都可以,

那我不知道了,我是M70pro,

HarmonyOS Next版本中,乐橙监控应用目前仅支持单屏幕显示,这是由该应用在当前系统版本下的功能实现决定的。多屏同显功能可能因应用适配或系统权限调整而暂时受限。

根据您提供的截图和描述,您遇到的问题是在HarmonyOS Next系统中,乐橙监控应用无法像以前一样进行多画面(如4分屏、9分屏)同时显示,目前只能全屏显示单个监控画面。

这是一个典型的应用兼容性问题。HarmonyOS Next是一个全新的、完全自研的操作系统,其底层架构与之前的HarmonyOS(兼容安卓应用框架)有根本性不同。这意味着,所有为旧版HarmonyOS或安卓系统开发的应用,都需要针对HarmonyOS Next的纯鸿蒙内核和新的开发框架(ArkTS/ArkUI)进行适配和重新开发。

主要原因分析:

  1. 应用未完成纯鸿蒙原生适配:乐橙监控应用很可能尚未发布针对HarmonyOS Next的纯鸿蒙原生版本。当前在您设备上运行的,可能是一个通过迁移工具初步转换的版本,或者是尚未完全适配新系统多窗口、多任务显示机制的早期版本。在新的系统架构下,多画面显示这类涉及复杂UI布局和实时视频流处理的功能,需要应用开发者使用新的ArkUI框架和能力重新实现。

  2. 系统权限与能力差异:HarmonyOS Next拥有全新的权限管理和资源调度机制。多画面同步显示需要同时调用多个摄像头数据流、进行解码渲染并合理分配系统资源(如GPU、内存)。如果应用没有按照新系统的规范申请并使用相关硬件和图形能力,此功能将无法正常工作。

结论与现状:

您遇到的并非系统缺陷,而是乐橙监控应用本身尚未完成对HarmonyOS Next的完整功能适配。应用在旧系统上能实现的多画面功能,依赖于旧的系统框架,这些框架在Next版本中已不存在。

建议您:

  1. 关注乐橙监控应用的官方更新公告,等待其发布声明已完全支持HarmonyOS Next的版本。
  2. 在设备的应用市场检查该应用是否有版本更新,开发者可能会逐步推送适配更新。

当前阶段,在HarmonyOS Next上使用尚未完全适配的第三方应用,遇到部分功能受限是常见情况。这需要应用开发者与HarmonyOS生态同步推进适配工作。

回到顶部