create static method
创建 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");
}
}