无法加载 config.js
Unable to load config.js
我正在使用 Jitsi Flutter plugin in conjunction with 8x8's Jitsi-as-a-Service offering 将视频通话集成到我的移动应用程序中。
加入会议后,通话立即结束,Jitsi 关闭。日志表明底层 Jitsi Meet SDK 无法从 8x8:
获取 config.js
E/JitsiMeetSDK(10937): [features/base/lib-jitsi-meet] Failed to load config from https://8x8.vc/vpaas-magic-cookie-<tenantID>/hello-world/config.js?room=vpaas-magic-cookie-<tenantID>hello-world Error(Error){"message":"loadScript error: undefined","stack":"index.android.bundle:538:817\np@index.android.bundle:284:423\nindex.android.bundle:284:1740\np@index.android.bundle:284:423\nn@index.android.bundle:284:898\nindex.android.bundle:284:1047\nf@index.android.bundle:111:155\nindex.android.bundle:111:882\ny@index.android.bundle:117:661\nC@index.android.bundle:117:1025\ncallImmediates@index.android.bundle:117:3100\ncallImmediates@[native code]\nvalue@index.android.bundle:36:3247\nindex.android.bundle:36:1283\nvalue@index.android.bundle:36:2939\nvalue@index.android.bundle:36:1253\nvalue@[native code]\nvalue@[native code]"}
I/JitsiMeetSDK(10937): [features/overlay] The conference will be reloaded after 19 seconds.
D/JitsiMeetSDK(10937): ExternalAPI Sending event: CONFERENCE_TERMINATED with data: { NativeMap: {"url":"https://8x8.vc/vpaas-magic-cookie-<tenantID>/hello-world/vpaas-magic-cookie-<tenantID>hello-world","error":"Error: loadScript error: undefined"} }
E/ThemeUtils(10937): View class com.facebook.react.views.text.ReactTextView is an AppCompat widget that can only be used with a Theme.AppCompat theme (or descendant).
I/chatty (10937): uid=10179(com.example.app) identical 1 line
E/ThemeUtils(10937): View class com.facebook.react.views.text.ReactTextView is an AppCompat widget that can only be used with a Theme.AppCompat theme (or descendant).
D/JITSI_MEET_PLUGIN(10937): JitsiMeetPluginActivity.onConferenceTerminated: {error=Error: loadScript error: undefined, url=https://8x8.vc/vpaas-magic-cookie-<tenantID>/hello-world/vpaas-magic-cookie-<tenantID>hello-world}
D/JITSI_MEET_PLUGIN(10937): JitsiMeetEventStreamHandler.onConferenceTerminated
I/JitsiMeetSDK(10937): Conference terminated: {error=Error: loadScript error: undefined, event=onConferenceTerminated, url=https://8x8.vc/vpaas-magic-cookie-<tenantID>/hello-world/vpaas-magic-cookie-<tenantID>hello-world}
I/JitsiMeetSDK(10937): [features/base/connection] No connection found while disconnecting.
我按照 official 8x8 JaaS docs 如何在我的应用程序中配置 Jitsi:
_joinMeeting(String token, String userName) async {
FeatureFlag featureFlag = FeatureFlag();
featureFlag.welcomePageEnabled = false;
// ...
featureFlag.resolution = FeatureFlagVideoResolution.HD_RESOLUTION;
var options = JitsiMeetingOptions()
..serverURL = "https://8x8.vc"
..room = "vpaas-magic-cookie-<tenantID>/hello-world"
..subject = "Hello World"
..token = token
..userDisplayName = userName
..audioOnly = false
..audioMuted = true
..videoMuted = true
..featureFlag = featureFlag;
await JitsiMeet.joinMeeting(options, roomNameConstraints: Map());
}
它可以完美地与 public meet.jit.si
服务器一起工作,但不能与 8x8 的 JaaS 产品一起工作。我错过了什么?
将 8x8 的 JaaS 产品与 Jitsi Flutter 插件结合使用
TL;DR: 将您的 8x8 会议的完整 URL 设置为房间名称。
如果您遵循 official 8x8 Jaas docs,您可能会遇到 Jitsi Flutter 无法从 8x8 服务器加载 config.js
的情况。
This forum comment 提示可以使用完整的 8x8 会议 URL 作为房间名称,通过 App Store 的官方 Jitsi Meet 应用加入 8x8 会议。
事实上,这不仅适用于官方应用程序,也适用于 Jitsi Flutter 插件。使用下面的配置,您应该能够连接到 8x8 租户上的会议室。 请确保通过将空映射传递给 joinMeeting
来禁用任何房间名称限制,否则 Jitsi Flutter 将拒绝您的房间名称!
_joinMeeting(String token, String userName) async {
FeatureFlag featureFlag = FeatureFlag();
featureFlag.welcomePageEnabled = false;
// ...
featureFlag.resolution = FeatureFlagVideoResolution.HD_RESOLUTION;
var options = JitsiMeetingOptions()
..serverURL = "https://8x8.vc"
..room = "https://8x8.vc/vpaas-magic-cookie-<tenantID>/<roomName>"
..subject = "Hello World"
..token = token
..userDisplayName = userName
..audioOnly = false
..audioMuted = true
..videoMuted = true
..featureFlag = featureFlag;
await JitsiMeet.joinMeeting(options, roomNameConstraints: Map());
}
希望这能为您节省一些时间。
我正在使用 Jitsi Flutter plugin in conjunction with 8x8's Jitsi-as-a-Service offering 将视频通话集成到我的移动应用程序中。
加入会议后,通话立即结束,Jitsi 关闭。日志表明底层 Jitsi Meet SDK 无法从 8x8:
获取config.js
E/JitsiMeetSDK(10937): [features/base/lib-jitsi-meet] Failed to load config from https://8x8.vc/vpaas-magic-cookie-<tenantID>/hello-world/config.js?room=vpaas-magic-cookie-<tenantID>hello-world Error(Error){"message":"loadScript error: undefined","stack":"index.android.bundle:538:817\np@index.android.bundle:284:423\nindex.android.bundle:284:1740\np@index.android.bundle:284:423\nn@index.android.bundle:284:898\nindex.android.bundle:284:1047\nf@index.android.bundle:111:155\nindex.android.bundle:111:882\ny@index.android.bundle:117:661\nC@index.android.bundle:117:1025\ncallImmediates@index.android.bundle:117:3100\ncallImmediates@[native code]\nvalue@index.android.bundle:36:3247\nindex.android.bundle:36:1283\nvalue@index.android.bundle:36:2939\nvalue@index.android.bundle:36:1253\nvalue@[native code]\nvalue@[native code]"}
I/JitsiMeetSDK(10937): [features/overlay] The conference will be reloaded after 19 seconds.
D/JitsiMeetSDK(10937): ExternalAPI Sending event: CONFERENCE_TERMINATED with data: { NativeMap: {"url":"https://8x8.vc/vpaas-magic-cookie-<tenantID>/hello-world/vpaas-magic-cookie-<tenantID>hello-world","error":"Error: loadScript error: undefined"} }
E/ThemeUtils(10937): View class com.facebook.react.views.text.ReactTextView is an AppCompat widget that can only be used with a Theme.AppCompat theme (or descendant).
I/chatty (10937): uid=10179(com.example.app) identical 1 line
E/ThemeUtils(10937): View class com.facebook.react.views.text.ReactTextView is an AppCompat widget that can only be used with a Theme.AppCompat theme (or descendant).
D/JITSI_MEET_PLUGIN(10937): JitsiMeetPluginActivity.onConferenceTerminated: {error=Error: loadScript error: undefined, url=https://8x8.vc/vpaas-magic-cookie-<tenantID>/hello-world/vpaas-magic-cookie-<tenantID>hello-world}
D/JITSI_MEET_PLUGIN(10937): JitsiMeetEventStreamHandler.onConferenceTerminated
I/JitsiMeetSDK(10937): Conference terminated: {error=Error: loadScript error: undefined, event=onConferenceTerminated, url=https://8x8.vc/vpaas-magic-cookie-<tenantID>/hello-world/vpaas-magic-cookie-<tenantID>hello-world}
I/JitsiMeetSDK(10937): [features/base/connection] No connection found while disconnecting.
我按照 official 8x8 JaaS docs 如何在我的应用程序中配置 Jitsi:
_joinMeeting(String token, String userName) async {
FeatureFlag featureFlag = FeatureFlag();
featureFlag.welcomePageEnabled = false;
// ...
featureFlag.resolution = FeatureFlagVideoResolution.HD_RESOLUTION;
var options = JitsiMeetingOptions()
..serverURL = "https://8x8.vc"
..room = "vpaas-magic-cookie-<tenantID>/hello-world"
..subject = "Hello World"
..token = token
..userDisplayName = userName
..audioOnly = false
..audioMuted = true
..videoMuted = true
..featureFlag = featureFlag;
await JitsiMeet.joinMeeting(options, roomNameConstraints: Map());
}
它可以完美地与 public meet.jit.si
服务器一起工作,但不能与 8x8 的 JaaS 产品一起工作。我错过了什么?
将 8x8 的 JaaS 产品与 Jitsi Flutter 插件结合使用
TL;DR: 将您的 8x8 会议的完整 URL 设置为房间名称。
如果您遵循 official 8x8 Jaas docs,您可能会遇到 Jitsi Flutter 无法从 8x8 服务器加载 config.js
的情况。
This forum comment 提示可以使用完整的 8x8 会议 URL 作为房间名称,通过 App Store 的官方 Jitsi Meet 应用加入 8x8 会议。
事实上,这不仅适用于官方应用程序,也适用于 Jitsi Flutter 插件。使用下面的配置,您应该能够连接到 8x8 租户上的会议室。 请确保通过将空映射传递给 joinMeeting
来禁用任何房间名称限制,否则 Jitsi Flutter 将拒绝您的房间名称!
_joinMeeting(String token, String userName) async {
FeatureFlag featureFlag = FeatureFlag();
featureFlag.welcomePageEnabled = false;
// ...
featureFlag.resolution = FeatureFlagVideoResolution.HD_RESOLUTION;
var options = JitsiMeetingOptions()
..serverURL = "https://8x8.vc"
..room = "https://8x8.vc/vpaas-magic-cookie-<tenantID>/<roomName>"
..subject = "Hello World"
..token = token
..userDisplayName = userName
..audioOnly = false
..audioMuted = true
..videoMuted = true
..featureFlag = featureFlag;
await JitsiMeet.joinMeeting(options, roomNameConstraints: Map());
}
希望这能为您节省一些时间。