create method
Future<int>
create({
- required String appKey,
- required NERtcChannelEventCallback channelEventCallback,
- NERtcOptions? options,
创建 NERtc 实例
Implementation
Future<int> create(
{required String appKey,
required NERtcChannelEventCallback channelEventCallback,
NERtcOptions? options}) async {
this._channelEventHandler.setCallback(channelEventCallback);
var serverAddresses = RtcServerAddresses();
final nertcServerAddresses = options?.serverAddresses;
if (nertcServerAddresses != null) {
serverAddresses
..valid = true
..channelServer = nertcServerAddresses.channelServer
..statisticsServer = nertcServerAddresses.statisticsServer
..roomServer = nertcServerAddresses.roomServer
..compatServer = nertcServerAddresses.compatServer
..nosLbsServer = nertcServerAddresses.nosLbsServer
..nosUploadSever = nertcServerAddresses.nosUploadSever
..nosTokenServer = nertcServerAddresses.nosTokenServer
..useIPv6 = nertcServerAddresses.useIPv6;
}
IntValue reply = await _api.create(CreateEngineRequest()
..appKey = appKey
..logDir = options?.logDir
..logLevel = options?.logLevel
..serverAddresses = serverAddresses
..audioAutoSubscribe = options?.audioAutoSubscribe
..audioDisableOverrideSpeakerOnReceiver =
options?.audioDisableOverrideSpeakerOnReceiver
..audioAINSEnabled = options?.audioAINSEnabled
..audioDisableSWAECOnHeadset = options?.audioDisableSWAECOnHeadset
..videoEncodeMode = options?.videoEncodeMode?.index
..videoDecodeMode = options?.videoDecodeMode?.index
..videoCaptureObserverEnabled = options?.videoCaptureObserverEnabled
..serverRecordAudio = options?.serverRecordAudio
..serverRecordVideo = options?.serverRecordVideo
..serverRecordMode = options?.serverRecordMode?.index
..serverRecordSpeaker = options?.serverRecordSpeaker
..publishSelfStream = options?.publishSelfStream
..videoSendMode = options?.videoSendMode?.index
..videoH265Enabled = options?.videoH265Enabled);
return reply.value ?? -1;
}