Agora io Unity Demo未加入频道

时间:2020-09-23 22:00:17

标签: unity3d agora.io

我正在 macOS Catalina 10.15.6 上使用 Angora Unity SDK 2.9.2.2 Unity 2019.4.0f1

我正在尝试使演示场景起作用。我添加了一个appId,但是没有看到onJoinChannelSuccess调试日志。它怀疑 JoinChannel 调用未成功。

我已经注销了 JoinChannel 的回报,并且得到了 -7 。从文档中我了解到,任何小于0的值都是失败,但是我没有收到任何错误消息,并且文档中未引用代码 -7

有人对这个错误是什么有什么想法,或者我如何获得有关此错误的更详细的信息?

2 个答案:

答案 0 :(得分:2)

最后,我发现我的问题是由于我使用的 Agora appId 引起的,该问题在agora控制台中针对它激活了一个证书,这意味着要成功连接,我必须提交一个令牌。

要解决此问题,我刚刚在Agora网站上创建了一个新的appId,并确保它使用的是 APP_ID身份验证方法,并且它像一种魅力一样工作。

感谢@Fattie竭尽所能为我提供帮助,并将我带到了Slack频道,这真的很有用,我向其他遇到问题的人推荐。

答案 1 :(得分:0)

您实际上是否正在调用这一行代码,

*mem

(请注意,“ onJoinChannelSuccess”可以是您选择的任何函数名称。在演示中,它们使它成为“同一个单词”的事实可能令人困惑。)

关于该函数,类型是“私有异步无效”(不只是“无效”)

mRtcEngine.OnJoinChannelSuccess = onJoinChannelSuccess;

-

进一步评论,您必须

private async void onJoinChannelSuccess(string channelName, uint uid, int elapsed)
{
    // "this app" joined Agora
    Debug.Log(">> onJoinChannelSuccess my own uid " + uid);
}

然后在您必须

之后

做三件事,

public void loadAgoraEngine()
{
    string agoraId = "66666....";
    if (mRtcEngine != null)
    {
        Debug.Log("Agora engine exists already!!");
        return;
    }
    mRtcEngine = IRtcEngine.GetEngine(agoraId);
    mRtcEngine.SetLogFilter(LOG_FILTER.DEBUG | LOG_FILTER.INFO | LOG_FILTER.WARNING | LOG_FILTER.ERROR | LOG_FILTER.CRITICAL);
    Debug.Log("loadAgoraEngine - seemed OK");
}

其中“设置”只是回调:

public void joinAgora(string channelName)
{
    Debug.Log(">> joinAgora .. " + channelName);
    Debug.Log(">> agora version  .. " + IRtcEngine.GetSdkVersion() );

    if (mRtcEngine == null) { return; }
    _setup();

    mRtcEngine.EnableVideo();
    mRtcEngine.EnableVideoObserver();

    mRtcEngine.JoinChannel(channelName, null, 0);
}

有运气吗?