通知
本站点除 Legacy 产品与方案外,已迁移至 声网新文档中心 ,当前页面不再维护
文档中心
全部产品
Console 官网 社区 技术支持

集成和使用灵动课堂过程中的常见错误

分类: 集成类    平台: All Platforms   最后更新时间: 2023/05/17 19:00:59

运行灵动课堂 Web 项目报错

如果你在运行灵动课堂 Web 项目时碰到以下报错:

./node_modules/agora-electron-sdk/js/Api/index.js
Module not found: Can't resolve '../../build/Release/agora_node_ext'
in'/Users/magikarp/workspace/web/teacher-classroom/node_modules/agora-electron-sdk/js/Api'

或者

Error running install script for optional dependency: "/root/flexible-classroom-desktop/node modules/agora-rdc-core: Command failed.

可通过以下方式解决:

  • 如果你的 Web 项目是通过 Next.js 创建的,可在 next.config.js 文件中添加以下代码:

    module.exports = {
        reactStrictMode: true,
        webpack: (config, options) => {
            // 添加下面这行代码
            config.externals.push({"agora-electron-sdk": "commonjs2 agora-electron-sdk", "agora-rdc-core": "commonjs2 agora-rdc-core"});
            return config;
        },
    };
  • 如果你的 Web 项目是通过 React 创建的,可在 webpack.base.js 中添加以下代码:

    module.exports = {
    // 添加下面这行代码
    externals: { 'agora-electron-sdk': 'commonjs2 agora-electron-sdk' , "agora-rdc-core": "commonjs2 agora-rdc-core"},
    resolve: {
    fallback: {
        crypto: require.resolve('crypto-browserify'),
        stream: require.resolve('stream-browserify'),
        buffer: require.resolve('buffer/'),
    },
  • 如果你的 Web 项目是通过 Vue.js 创建的,可在 vue.config.js 中添加以下代码:

    const vueConfig = {
        // publicPath: './',
        configureWebpack: {
        // webpack plugins
        plugins: [
            ..........................
        ],
    
        externals:{
            // 添加下面这行代码
            'agora-electron-sdk': 'commonjs2 agora-electron-sdk',
             "agora-rdc-core": "commonjs2 agora-rdc-core"
        }
    },

在 Linux 环境下运行灵动课堂报错

如果你在 Linux 环境下运行灵动课堂时碰到 Error:unsupported platform! 报错,可在 agora-classroom-sdk 文件夹中的 package.json 文件中添加 platform 属性。

修改前:

"agora_electron": {
    "electron_version": "12.0.0",
    "prebuilt": true
},

修改后:

"agora_electron": {
    "electron_version": "12.0.0",
    "prebuilt": true,
    "platform":"win32" | "darwin", //"darwin"或者"win32"二选一
},

如何处理加入课堂相关报错?

加入房间时报 600001: Failed to join the classroom 错误怎么办?

该错误有以下几种可能的错误原因:

  • 用户 Token 无效,可参照《Web 端加入房间时报 600001-1 错误,或登录教室时服务端报 401 错误怎么办?》。
  • 用户选择的区域错误。 请检查 launch 方法的 region 字段是否设置了正确的区域。
  • 教室内该角色人数已达上限,无法进入。例如,教室内老师的数量达到上限,则用户无法再以老师的角色进入教室。
  • 房间人数已达上限,无法进入。例如,房间总人数大于 200。
  • 房间不存在或者创建的房间已结束,请检查房间是否过期。

Web 端加入房间时报 600001-1 错误,或登录教室时服务端报 401 错误怎么办?

600001-1401 错误一般是因为 launch 方法传入的 Token 错误,或者 Token 和 App ID 不匹配。请检查 Token 是否正确,以及保证 App ID 和 Token 匹配。

声网推荐你在后端生成 Token,前端调用生成的 Token,详情参考使用 Token 鉴权

如果需要临时生成 token 测试,可以使用这个工具

报错 "代码 30409104 详细信息:roomType conflict" 怎么办?

该错误是因为该房间编号(roomUuid)已经创建了一个小班课课堂,同一个房间编号被配置为不同的房间类型,从而导致房间类型冲突。
声网建议不要使用同一个房间编号创建多个课堂,并且每个房间都应配置一个不同的房间类型。

其他相关服务端错误码可参考响应状态码

进入教室报错 “Error Domain=last launch not finished Code=-1 "(null)" ” 怎么办?

该错误错误一般是因为 launch 方法传入的 Token 错误或过期,或者 Token 和 App ID 或 User ID 不匹配。请检查 Token 是否正确和有效,以及保证 Token 和 App ID 以及 User ID 匹配。