create static method

Future<JCCall> create(
  1. JCClient client,
  2. JCMediaDevice mediaDevice,
  3. JCCallCallback callback
)

创建 JCCall 对象

JCCall 的所有接口函数,如无特殊说明,都建议在主线程调用

@note

  • 调用此方法创建 JCCall 对象后,期间没有调用过 @ref destroy 方法销毁对象,然后又重复调用此方法,会直接返回第一次创建的 JCCall 对象
  • 调用此方法前确保 JCClient 已完成初始化,即 @ref JCClient.getState "getState" 方法获取的状态值不等于 @ref JCClient.STATE_NOT_INIT "STATE_NOT_INIT"

client JCClient 对象

mediaDevice JCMediaDevice 对象,通过 @ref JCMediaDevice.create 方法创建

callback JCCallCallback 对象,用于回调相关通知

@return JCCall 对象 @exception "JCClient、JCMediaDevice、JCCallCallback 任意参数传空就会抛出异常"

Implementation

static Future<JCCall> create(JCClient client, JCMediaDevice mediaDevice,
    JCCallCallback callback) async {
  if (_sCall == null) {
    _sCall = new JCCallImpl();
  }
  bool result =
      await _sCall!.createNativeJCCall(client, mediaDevice, callback);

  if (result) {
    return Future.value(_sCall);
  }
  return Future.error("_createNativeJCClient  exception");
}