微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

使用 Electron 在 Agora Web SDK v4 上发布时出错

如何解决使用 Electron 在 Agora Web SDK v4 上发布时出错

我按照文档中提到的步骤操作。我有一个带有 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)

来自我的项目的代码片段:

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]);

解决方法

如您所知,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 一起使用更容易。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。