setupEngine method
Future<void>
setupEngine(
- String appKey,
- String accountId, {
- NEExtraConfig? extraConfig,
- NEGroupConfigParam? groupConfigParam,
Implementation
Future<void> setupEngine(
String appKey,
String accountId, {
NEExtraConfig? extraConfig,
NEGroupConfigParam? groupConfigParam,
}) async {
CallKitUILog.i(
_tag,
'CallManager setupEngine(appKey:$appKey, accountId: $accountId, extraConfig: $extraConfig, groupConfigParam: $groupConfigParam)',
);
// 保存群呼配置参数
_groupConfigParam = groupConfigParam;
CallState.instance.unRegisterEngineObserver();
CallState.instance.registerEngineObserver();
CallState.instance.selfUser.id = accountId;
// 获取 lckConfig,如果没有则使用默认配置(默认关闭)
NELCKConfig? lckConfig = extraConfig?.lckConfig ??
NELCKConfig(enableLiveCommunicationKit: false);
var config = NESetupConfig(
appKey: appKey,
currentAccountId: accountId,
enableJoinRtcWhenCall: false,
initRtcMode: NECallInitRtcMode.global,
desktopVideoRenderMode:
Platform.isMacOS ? NEDesktopVideoRenderMode.platformWindow : null,
lckConfig: lckConfig, // 传递 lckConfig 到 NESetupConfig
);
final result = await NECallEngine.instance.setup(config);
if (result.code == 0) {
CallKitUILog.i(
_tag,
'CallManager initEngine success with lckConfig: enable=${lckConfig.enableLiveCommunicationKit}, ringtone=${lckConfig.ringtoneName}',
);
// 预加载铃声文件,避免首次播放时铃声被截断
CallingBellFeature.preloadRingFiles();
} else {
CallManager.instance.showToast(NECallKitUI.localizations.initEngineFail);
}
}