package com.yutou.qqbot.utlis;

import com.iflytek.cloud.speech.*;

public class AudioTools {
    private static boolean init = false;

    synchronized static void init() {
        if (init) {
            return;
        }
        SpeechUtility.createUtility(SpeechConstant.APPID + "=601f7f7d");
        SpeechUtility.getUtility().setParameter(SpeechConstant.VOLUME,"100");
        SpeechUtility.getUtility().setParameter(SpeechConstant.LIB_NAME_64,"/media/yutou/disk_lvm/public/servier/tools/");
        SpeechUtility.getUtility().setParameter(SpeechConstant.LIB_NAME_32,"/media/yutou/disk_lvm/public/servier/tools/");
        init = true;
        Log.i("讯飞语音已初始化");
    }

    public static void playText(String text) {
        SpeechSynthesizer mss = SpeechSynthesizer.createSynthesizer();
        mss.startSpeaking(text, new SynthesizerListener() {
            @Override
            public void onBufferProgress(int progress, int beginPos, int endPos,
                                         String info) {
                if (progress == 100) {
                    mss.destroy();
                }
            }

            @Override
            public void onSpeakBegin() {

            }

            @Override
            public void onSpeakProgress(int i, int i1, int i2) {

            }

            @Override
            public void onSpeakPaused() {

            }

            @Override
            public void onSpeakResumed() {

            }

            @Override
            public void onCompleted(SpeechError speechError) {
                Log.i(speechError.getErrorDesc() + " code " + speechError.getErrorCode());
            }

            @Override
            public void onEvent(int i, int i1, int i2, int i3, Object o, Object o1) {
            }
        });
    }

    public static void main(String[] args) {
        init();
        playText("小爱同学,开灯");
    }
}
