Android 屏幕共享无法获取到屏幕数据

那个打印出来的不是uid ,是int elapsed,我将uid打印出来看看

2019-12-04 13:14:15.476 8400-8426/? D/ScreenSharingService: onJoinChannelSuccess----channel----1ea1640a3f8a1c09535f3f5bfaa0703-----uid----101----elapsed----673

打出出来了。
注:我本地的画面也是以uid 101加入的,屏幕分享也使用101,也就是自己的uid这一点应该没错吧?
分享之前我需要把本手机的其他远端用户视频和音频全部停掉吗?

刚才在画面上出现这样一个现象,本地画面是全屏的,点击屏幕分享后,远端突然显示了屏幕上的画面,然后一下又突然显示了Carma的数据了,后来屏幕分享的画面也没出现。

我看demo上的分享设置为横屏数据时,只能看到一小块屏幕上的内容,请问有什么办法可以查看到屏幕上的所有内容吗?

分享前停止本地视频,分享的数据出来了。分享完再打开本地视频。

目前的问题是:由于我们的视频使用是在横屏下,分享的时候采集的屏幕在远端只能看到中间屏幕上一点内容,其他地方看不到,不知道这个有解决方法吗?

这么操作会导致 uid 互踢行为,屏幕共享用户端就会把本地画面用户端踢出频道。同一个频道内只能有唯一的一个 uid。

没有这个限制的,你们可以根据业务场景需要自行设置。如果需要屏幕共享和本地摄像头推流共存,可以将屏幕共享的 uid 设为与摄像头 uid 不相同的一个值,就可以共存。

确实遇到用户被踢出了,我试下设置一个不用的uid还能不能进行屏幕共享,非常感谢!!

VideoEncoderConfiguration 应该设置与横屏匹配的分辨率参数。然后远端用户,setupRemoteVideorenderMode 参数,设置为 io.agora.rtc.video.VideoCanvas.RENDER_MODE_FIT
https://docs.agora.io/cn/Video/API%20Reference/java/classio_1_1agora_1_1rtc_1_1video_1_1_video_canvas.html

换了一个uid 2 进行屏幕共享就没有数据显示了,是否是因为远端接收的surfaceView也需要绑定到这个进行分享的uid 2才可以显示出来?

分享屏幕的参数VideoEncoderConfiguration 设置的参数为
mVEC = new VideoEncoderConfiguration(VideoEncoderConfiguration.VD_1280x720,
VideoEncoderConfiguration.FRAME_RATE.FRAME_RATE_FPS_30,
VideoEncoderConfiguration.STANDARD_BITRATE,
VideoEncoderConfiguration.ORIENTATION_MODE.ORIENTATION_MODE_FIXED_LANDSCAPE);
或者ORIENTATION_MODE_FIXED_PORTRAIT

远端用户设置VideoCanvas.RENDER_MODE_FIT 然后看到的画面还是一部分。

1、分辨率试试看设置为 720*1280?
2、远端用户设置的 view,宽高比需要和encoder设置的分辨率宽高比一致
3、手机是否有开启旋转屏幕?如果没有,开启试试看。

嗯,对的

设置为720*1280等下试试。
我们只有横屏下的视频,所以远端用户始终是横屏在看别人分享的内容。我们设置了Acitvity方向是横屏。
根据官方的横屏采集模式,但采集端可能是横屏或竖屏,当采集端在竖屏采集时,确实会采集到一部分,目前这种情况也算是比较正常吧。横屏下采集,横屏下观看内容是没有问题的。

看官方的这个资料是目前我遇到就是这种情况,按官方的说明,目前就是这样看不到全部,按说也正常。

嗯是正常情况,这种模式下,采集端竖屏的话,接收端看到的画面就是被裁剪的。

好的,非常感谢。

不客气哈

单独使用的一个uid 2 加入屏幕分享时,加入通道会失败,报的错误码为 110
2019-12-04 19:03:04.077 24403-25291/? D/ScreenSharingService: onError 110
2019-12-04 19:03:04.095 24403-25291/? D/ScreenSharingService: onError 110
2019-12-04 19:03:04.107 24403-25291/? D/ScreenSharingService: onError 110
2019-12-04 19:03:04.197 24403-25291/? D/ScreenSharingService: onError 110

请问110代表什么意思?

传的 token 不对,你看看生成 token 时传的 uid 参数,是 102 吗?需要保持一致。

好的,