自托管Jitsi修改界面及移除三点按钮,Flutter端配置不生效怎么办
问题原因说明
你在服务端修改的config.js仅对浏览器直接访问的网页端生效,Flutter的jitsi_meet插件默认会使用内置的默认配置,优先级高于服务端下发的配置,所以需要在Flutter端调用会议接口时手动传入自定义配置覆盖默认值。
具体解决步骤
1. Flutter端传入配置参数
在你调用JitsiMeet.joinMeeting()方法时,通过JitsiMeetConferenceOptions的configOverrides和featureFlags参数传入自定义配置即可,示例代码如下:
import 'package:jitsi_meet/jitsi_meet.dart'; // 构造会议配置 var options = JitsiMeetConferenceOptions() ..room = "你的房间号" ..serverURL = "你的Jitsi服务器地址" // 对应服务端config.js的参数,优先级高于服务端配置 ..configOverrides = { // 移除「You are the only one in meeting」提示文本 "hideAddPeopleEnabled": true, "defaultLocalDisplayName": " ", // 工具栏按钮配置,和你服务端修改的规则保持一致 "toolbarButtons": [ 'camera', 'hangup', 'microphone', 'toggle-camera', ] } // 功能开关配置 ..featureFlags = { // 禁用设置入口,即可移除工具栏三点菜单图标 "settings.enabled": false, // 关闭参会人邀请功能,配合隐藏单人会议提示 "add-people.enabled": false, }; // 加入会议 await JitsiMeet.joinMeeting(options);
2. 低版本插件兼容操作
如果你使用的jitsi_meet版本较低,以上配置不生效时可以做如下调整:
- 先将jitsi_meet升级到最新稳定版,确保所有配置参数支持生效
- 若仍不生效可直接修改插件原生端默认配置:
- Android端:找到
android/src/main/res/values/strings.xml里的toolbar_buttons配置项,替换为你需要的按钮列表 - iOS端:找到
ios/Classes/JitsiMeetPlugin.m里的默认配置数组,修改toolbarButtons对应的数值即可
- Android端:找到
配置完成后卸载原有App重新安装运行,避免缓存的旧配置影响效果。
内容的提问来源于stack exchange,提问作者Dev Chauhan
相关产品推荐
相关产品推荐

