create static method

Future<JCMediaDevice> create(
  1. JCClient client,
  2. JCMediaDeviceCallback callback
)

创建 JCMediaDevice 对象

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

client JCClient 对象 callback JCMediaDeviceCallback 对象,用于回调相关通知 @return JCMediaDevice 对象 @throws "JCClient、JCMediaDeviceCallback 任意一个参数传空就会出现调用异常" @note - 调用此方法创建 JCMediaDevice 对象后,期间没有调用过 @ref destroy 方法销毁对象,然后又重复调用此方法,会直接返回第一次创建的 JCMediaDevice 对象

  • 调用此方法前确保 JCClient 已完成初始化,即 @ref JCClient.getState "getState" 方法获取的状态值不等于 @ref JCClient.STATE_NOT_INIT "STATE_NOT_INIT"

Implementation

static Future<JCMediaDevice> create(
    JCClient client, JCMediaDeviceCallback callback) async {
  if (_sMediaDevice == null) {
    _sMediaDevice = new JCMediaDeviceImpl();
  }
  var result =
      await _sMediaDevice!.createNativeJCMediaDevice(client, callback);
  if (result) {
    return _sMediaDevice!;
  } else {
    return Future.error("createNativeJCMediaDevice exception");
  }
}