IntentHandler.java 1.11 KB
package com.ys.yslibrary.bean;


import com.ys.yslibrary.viewmodel.PlayerViewModel;

import org.json.JSONArray;

import java.util.List;

/**
 * 语义结果处理抽象类
 */

public abstract class IntentHandler {
    public static final String NEWLINE = "<br/>";
    public static final String NEWLINE_NO_HTML = "\n";
    public static final String CONTROL_TIP = "你可以通过语音控制上一个,下一个哦";
    public static int controlTipReqCount = 0;


    public abstract Answer getFormatContent(SemanticResult result);


    //减少播放控制类指令提示次数
    public static boolean isNeedShowControlTip() {
        return controlTipReqCount++ % 5 == 0;
    }

    protected String optSlotValue(SemanticResult result, String slotKey) {
        JSONArray slots = result.semantic.optJSONArray("slots");
        for (int index = 0; index < slots.length(); index++) {
            String key = slots.optJSONObject(index).optString("name");

            if (key.equalsIgnoreCase(slotKey)) {
                return slots.optJSONObject(index).optString("value");
            }
        }

        return null;
    }


}