startOralEvaluateWithData method

void startOralEvaluateWithData(
  1. OralData data,
  2. OralEvluateListener listener, {
  3. bool isManual = false,
})

口语评测 @param data 使用OralDataBuilder构建 @param listener 评测结果监听 回调结果包含用户回答录音地址、总分、具体单词得分等

Implementation

void startOralEvaluateWithData(OralData data, OralEvluateListener listener,
    {bool isManual = false}) async {
  try {
    //result.success(any)
    String res = await Configure.channel.invokeMethod('oralEvaluate',
        {'text': data.text, 'language': data.language, 'manual': isManual});

    EvaluateResultBean resultBean =
        EvaluateResultBean.fromJson(json.decode(res));
    if (null != listener && null != listener.onOralEvaluateResult) {
      listener.onOralEvaluateResult!(resultBean);
    }
  } on PlatformException catch (e) {
    // result.error("failed", "failed unknow", "i don't know")
    print(e);
    if (null != listener && null != listener.onOralEvaluateFailed) {
      listener.onOralEvaluateFailed!(int.parse(e.code), e.message);
    }
  } on MissingPluginException catch (e) {
    //result.notImplemented()
    print(e);
    if (null != listener && null != listener.onOralEvaluateFailed) {
      listener.onOralEvaluateFailed!(ErrorCode.NOT_IMPLEMENTED, e.message);
    }
  }
}