如何使用 agora.io Unity SDK 检索频道用户列表

Posted

技术标签:

【中文标题】如何使用 agora.io Unity SDK 检索频道用户列表【英文标题】:How to retrieve channel users list with agora.io Unity SDK 【发布时间】:2019-04-12 09:10:55 【问题描述】:

我正在使用 Agora.io Unity SDK 在游戏中实现视频聊天功能。但我不知道如何检索频道中当前存在的用户列表。有人知道怎么做吗?

【问题讨论】:

欢迎来到***,请查看这篇文章:***.com/help/how-to-ask。请通过添加有关您的问题的更多详细信息来编辑您的问题,并提供您迄今为止尝试过的代码示例 【参考方案1】:

没有脚本可以查询频道中的用户列表。您必须自己跟踪。很简单。

在初始化 Agora 引擎的脚本中,创建一个列表

static List<uint> remoteStreams = new List<uint>();

然后,每当您初始化引擎时,请务必包含回调以侦听任何加入流的远程用户。

mRtcEngine.OnUserJoined += (uint uid, int elapsed) => 
    string userJoinedMessage = string.Format("onUserJoined with uid 0", uid);
    Debug.Log(userJoinedMessage);
    remoteStreams.Add(uid); // add remote stream id to list of users
;

一旦用户加入频道,就会为频道中的每个现有用户调用上述回调,然后在有新人加入时再次调用。

【讨论】:

问题是这不会考虑在您加入之前在频道上的现有用户。有解决办法吗? 是的,它会的。每当用户最初加入包含其他用户的频道时,都会为频道中的所有用户触发此功能。当有新用户加入时,也会触发此回调。 天哪,莫莉,你是对的!我一直在使用音量指示来获取用户列表! 如果用户离开频道怎么办?如何减少数量? 看看 LeaveChannelHandler docs.agora.io/en/Video/API%20Reference/unity/…

以上是关于如何使用 agora.io Unity SDK 检索频道用户列表的主要内容,如果未能解决你的问题,请参考以下文章

适用于 Unity 的 Agora 视频 SDK 正在冻结 AR 摄像头

如何在 android 中与 agora.io sdk 共享屏幕?

agora.io Android SDK:如何获取所有远程用户“uid”

如何在 codeigniter 中集成 agora sdk

在 Agora.io 视频通话后 Unity VideoPlayer 音频中断

Agora SDK 设置