如何使用外部API为jitsi会见视频室设置密码

问题描述

如何使用外部API为jitsi会见视频室设置密码,我可以尝试使用示例代码进行设置,但对我不起作用,创建房间但没有密码,如下所示:

var domain = "meet.jit.si";
var roomName="my_test_room1";

var options = {
  roomName: roomName,width: 1024,height: 900,parent: undefined,noSsl: false,configOverwrite: {
    disableDeepLinking: true,},interfaceConfigOverwrite: {
    filmStripOnly: false
  },userInfo: {
    email: '[email protected]',displayName: 'Test Testov'
  }
}

api = new JitsiMeetExternalAPI(domain,options);

var pwd = "mypass";


 setTimeout(() => {

    // when local user is trying to enter in a locked room
    api.addEventListener('passwordrequired',() => {
        api.executeCommand('password',pwd);
    });

    // when local user has joined the video conference
    api.addEventListener('videoConferenceJoined',(response) => {
        api.executeCommand('password',pwd);
    });

},10);

解决方法

当第一个人进入房间时,他将具有管理员权限。我们可以在那时设置密码。

api.addEventListener('participantRoleChanged',function(event) {
    if (event.role === "moderator") {
        api.executeCommand('password',pwd);
    }
});

然后加入的下一位参与者将输入所需的密码。

api.on('passwordRequired',function () {
    api.executeCommand('password',pwd);
}
,

在每次创建时,通过查询外部服务并实现自定义模块来检查密码并进行设置。

  1. 创建一个名为mod_password_moderation.lua的lua文件,其中会出现您的韵律插件文件。 (很可能是在快速安装中/ usr / share / jitsi-meet / prody-plugins /和在手动安装中的/ srv / jitsi-meet / resources / prosody-plugins /。)

  2. 打开lua文件并添加以下代码:

    module:hook("muc-room-pre-create",function(event) local pass = http.query.for.password for this event.room; event.room:set_password(pass); end);

  3. 打开/etc/prosody/conf.d/ [您的域] .cfg.lua并编辑会议。[您的域]组件以添加password_moderation。将此行从modules_enabled = { [EXISTING MODULES] }更改为modules_enabled = { [EXISTING MODULES]; "password_moderation" }

  4. 取决于您的设置,您需要重新启动服务: sudo systemctl restart prosody && sudo systemctl restart jicofo && sudo systemctl restart jitsi-videobridge2