开发者社区> 问答> 正文

AUI中安卓连麦的类中,怎么修改两个画面的层级了?

AUI中安卓连麦的类(LiveLinkMicRenderComponent)中,怎么修改两个画面的层级了(setZOrderOnTop)?我现在的做法是在setMultiInteractLivePushPullListener事件的onPullSuccess中去重新设置(setZOrderOnTop),但是关闭/打开观众的摄像头之后画面又被遮挡了。

展开
收起
三分钟热度的鱼 2023-07-26 12:02:57 83 0
来自:阿里云CDN
3 条回答
写回答
取消 提交回答
  • 北京阿里云ACE会长

    在 Android 中,可以使用 SurfaceView 的 setZOrderOnTop 方法来设置 SurfaceView 的层级关系。如果在 LiveLinkMicRenderComponent 中使用 SurfaceView 来展示连麦的画面,可以通过该方法来修改两个画面的层级关系。

    您提到在 onPullSuccess 中重新设置 setZOrderOnTop,这个方法只会影响当前的 SurfaceView,如果你同时展示了多个 SurfaceView,需要对每个 SurfaceView 都进行设置才能生效。另外,如果你在打开/关闭观众的摄像头时出现了画面被遮挡的问题,可能是由于层级关系设置不正确导致的。建议在打开/关闭摄像头时重新设置 SurfaceView 的层级关系,以确保画面能够正确展示。

    2023-07-26 21:24:44
    赞同 展开评论 打赏
  • 在AUI中,LiveLinkMicRenderComponent类用于控制安卓端连麦功能的渲染和显示。您提到想要修改两个画面的层级(setZOrderOnTop),但遇到了关闭/打开观众摄像头后画面被遮挡的问题。

    根据您的描述,重新设置setZOrderOnTop可能会导致画面被遮挡的问题。这是因为setZOrderOnTop方法用于设置视图的层级关系,如果不正确地使用它,可能会导致视图遮挡或重叠。

    解决此问题的一种方法是,在设置setZOrderOnTop之前,先将相关的视图从父容器中移除,并再次添加到正确的位置。

    以下是一个示例代码片段,展示如何正确设置层级关系:

    // 获取连麦观众的视图
    View audienceView = liveLinkMicRenderComponent.getAudienceView();
    // 获取主播的视图
    View anchorView = liveLinkMicRenderComponent.getAnchorView();
    
    // 将视图从父容器中移除
    ViewGroup parentLayout = (ViewGroup) audienceView.getParent();
    parentLayout.removeView(audienceView);
    parentLayout.removeView(anchorView);
    
    // 根据需要设置层级关系
    if (isAudienceCameraOpen) {
        // 观众摄像头打开时,观众视图在上层显示
        parentLayout.addView(audienceView);
        parentLayout.addView(anchorView);
    } else {
        // 观众摄像头关闭时,主播视图在上层显示
        parentLayout.addView(anchorView);
        parentLayout.addView(audienceView);
    }
    

    通过以上示例中的代码,您可以根据观众摄像头的状态来决定两个视图的层级关系,并正确设置它们的显示顺序。

    2023-07-26 12:52:12
    赞同 展开评论 打赏
  • 可能需要调整下,可以参考这个直播推流的 Demo,这里面有大窗和小窗的场景。
    https://help.aliyun.com/zh/live/developer-reference/sdk-download-and-release-notes?spm=a2c4g.11186623.0.0.a589468bcvua1v 此回答整理自钉群“AUI客户支持群”

    2023-07-26 12:50:23
    赞同 展开评论 打赏
问答分类:
问答地址:
来源圈子
更多
收录在圈子:
+ 订阅
问答排行榜
最热
最新

相关电子书

更多
58同城Android客户端Walle框架演进与实践之路 立即下载
Android组件化实现 立即下载
蚂蚁聚宝Android秒级编译——Freeline 立即下载