【问题标题】:Error publishing on Agora Web SDK v4 with Electron使用 Electron 在 Agora Web SDK v4 上发布时出错
【发布时间】:2021-08-26 19:20:37
【问题描述】:

我按照文档中提到的步骤进行操作。我有一个带有 React 的 Electron 应用程序。我之前使用 agora v3.6.0,一切正常。我想升级到不向后兼容但看起来很容易实现的 Agora v4。

我在发布本地曲目后收到以下错误。

AgoraRTC_N-production.js:637 Uncaught (in promise) TypeError: this.report.forEach is not a function
    at b.<anonymous> (AgoraRTC_N-production.js:637)
    at AgoraRTC_N-production.js:175
    at Object.next (AgoraRTC_N-production.js:176)
    at g (AgoraRTC_N-production.js:174)

我项目中的代码 sn-p:

const agoraAccessToken = await actions.auth.getAgoraAccessToken({ requestParams: {channel: props.config.channel}});
console.log(agoraAccessToken);


let uid = await AgoraClient.join(props.config.appId, props.config.channel, agoraAccessToken);
console.log(uid);

let audioTrack = await AgoraRTC.createMicrophoneAudioTrack();
let videoTrack = await AgoraRTC.createCameraVideoTrack();

await AgoraClient.publish([audioTrack, videoTrack]);

【问题讨论】:

  • 你能用一些代码编辑这个问题吗?
  • 嗨@AkshatGupta 添加了sn-p,类似于我的另一个问题。

标签: electron agora.io agora-web-sdk-ng


【解决方案1】:

如您所知,Agora 4.x SDK 不向后兼容。

区别不仅限于tracks的初始化。 3.x 和 4.x 的另一个不同之处在于 in-call stats,这可能会导致 this.report.forEach 错误,但这只是一个假设,直到您提供更多代码。

如果您使用 react,我建议您查看开源 Agora React 项目,它封装了 Agora 4.x SDK 以遵循标准的 React 代码样式。

Full Guide: Building a Video Chat App Using React Hooks and Agora

注意:我没有亲自创建这个项目,也没有编写本指南,但我推荐它们,因为它们是为了让 Agora 的 Web SDK 更容易与 React 一起使用而创建的。

【讨论】:

  • 嗯,错误是在 Agora RTC_N-production.js:637 抛出的,这是 Agora V4 SDK 库本身。
  • 您在其他地方调用 Agora 引擎吗?请提供有关何时引发此错误的更多上下文。加入频道时会发生吗?还是其他时间? 4.x SDK 的变化不仅仅是音轨的初始化而不是流的初始化。
  • 是的,就像问题中所说的那样。一旦调用发布方法,错误就会出现。这是迄今为止我与 Agora 相关的唯一一段代码,因为它至少会失败,因此我没有编写任何其他代码。
  • 在加入和发布之前,您是否使用createClient 方法创建了新客户端? docs.agora.io/en/Video/API%20Reference/web_ng/interfaces/…
猜你喜欢
  • 2021-08-26
  • 1970-01-01
  • 1970-01-01
  • 2021-05-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-01-10
  • 1970-01-01
相关资源
最近更新 更多