setVideoDigitalZoomConfig method

Future<int?> setVideoDigitalZoomConfig({
  1. required ZoomConfigType type,
  2. required float size,
})

@valid since 3.51 @detail api @hiddensdk(audiosdk) @author likai.666 @brief 设置本地摄像头数码变焦参数,包括缩放倍数,移动步长。 @param type 数码变焦参数类型,缩放系数或移动步长。参看 ZoomConfigType{@link #ZoomConfigType}。必填。 @param size 缩放系数或移动步长,保留到小数点后三位。默认值为 0。必填。
选择不同 type 时有不同的取值范围。当计算后的结果超过缩放和移动边界时,取临界值。
- ZOOM_FOCUS_OFFSET(0):缩放系数增量,范围为 0, 7。例如,设置为 0.5 时,如果调用 setVideoDigitalZoomControl{@link #RTCEngine#setVideoDigitalZoomControl} 选择 Zoom in,则缩放系数增加 0.5。缩放系数范围 1,8,默认为 1,原始大小。 - ZOOM_MOVE_OFFSET(1):移动百分比,范围为 0, 0.5,默认为 0,不移动。如果调用 setVideoDigitalZoomControl{@link #RTCEngine#setVideoDigitalZoomControl} 选择的是左右移动,则移动距离为 size x 原始视频宽度;如果选择的是上下移动,则移动距离为 size x 原始视频高度。例如,视频帧边长为 1080 px,设置为 0.5 时,实际移动距离为 0.5 x 1080 px = 540 px。 @return - 0: 成功。 - < 0: 失败。查看 ReturnStatus{@link #ReturnStatus} 获得更多错误说明。 @note - 每次调用本接口只能设置一种参数。如果缩放系数和移动步长都需要设置,分别调用本接口传入相应参数。 - 由于移动步长的默认值为 0 ,在调用 setVideoDigitalZoomControl{@link #RTCEngine#setVideoDigitalZoomControl} 或 startVideoDigitalZoomControl{@link #RTCEngine#startVideoDigitalZoomControl} 进行数码变焦操作前,应先调用本接口。

Implementation

Future<int?> setVideoDigitalZoomConfig(
    {required ZoomConfigType type, required float size}) async {
  $a() => ($instance as $p_a.RTCEngine).setVideoDigitalZoomConfig(
      t_ZoomConfigType.code_to_android(type), size);
  $i() => ($instance as $p_i.ByteRTCEngine)
      .setVideoDigitalZoomConfig(t_ZoomConfigType.code_to_ios(type), size);

  if (Platform.isAndroid) {
    return $a();
  } else if (Platform.isIOS) {
    return $i();
  } else {
    throw UnsupportedError(
        'Not Support Platform ${Platform.operatingSystem}');
  }
}