关于音视频SDK启用的判断

当在APP界面,打开多人音视频正常交流,此时将APP通过home键返回到后台,隔较长时间再次打开APP,(在后台期间,状态栏上的视频小图标会被去掉,是系统回收了视频还是SDK的底层处理?),当再次切回app时,SDK是否可以判断当前音视频模块是否正常,然后在根据情况重新唤起音视频模块,切后台之后的保活率很不稳定

一般而言,都是系统强制限制导致的。请问你是 Android 平台还是 iOS 平台?

  1. 如果是 Android,请参考这篇 FAQ 文档 使用 前台服务 让应用正常工作;
  2. 如果是 iOS,系统是不支持 APP 后台采集视频的,系统行为无法规避。

是Android平台,现在的做法是改为当app退出到后台时,通过拉起一个前台服务来保持,但是这种保持并没有准确的保持多久,以及保持率有多高都不确定

一般而言,只要你的 app 进程没有被杀死(在系统设置里,允许 app 后台运行),前台 service 是正常的,那么一般不会被终止视频采集。这些都取决于你的系统和设备,和 SDK 没太大的关系哈。

好的,还有个问题请教下
视频是一个列表,我再整个列表上面盖了一层全屏FrameLayout,当点击列表中某个视频时,实现放大,将视频渲染在这个FrameLayout上,FrameLayout设置了android:elevation=“2dp”,在列表上方,放大自己的视频没问题,但是放大别人的视频时,自己的视频也会出现在里面,画中画,但是位置取决于自己再列表中的位置,这个怎么解?

可以尝试检查一下 UI 层级的布局,这里有一个参考链接,你可以看一下:

没用,RecyclerView的层级没有设置,他上层的FrameLayout层级设置为4,点开别人的视频放大都能把自己的视频以画中画的形式显示出来

SDK在渲染本地视频setuoLocalView是否有对其做设置,放大自己的视频是正常的,能盖住其他的,但是放大别人的视频就不行,自己的始终会显示在最上方

你看下你有没有对本地视图调用 setZOrderMediaOverlay 方法将其置顶?

哦哦,非常感谢,是这个原因,当时看文档写的这个,没发现是置顶了,好尴尬

好的好的,不客气