我正在 macOS Catalina 10.15.6 上使用 Angora Unity SDK 2.9.2.2 和 Unity 2019.4.0f1 。
我正在尝试使演示场景起作用。我添加了一个appId,但是没有看到onJoinChannelSuccess调试日志。它怀疑 JoinChannel 调用未成功。
我已经注销了 JoinChannel 的回报,并且得到了 -7 。从文档中我了解到,任何小于0的值都是失败,但是我没有收到任何错误消息,并且文档中未引用代码 -7 。
有人对这个错误是什么有什么想法,或者我如何获得有关此错误的更详细的信息?
答案 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);
}
有运气吗?