Exemplo n.º 1
0
    private static void initIFlyVoice()
    {
#if UNITY_ANDROID
        //Initialize AndroidJavaClass(Please do not delete the commended codes for that those code are for test and check)
        UnityPlayer     = new AndroidJavaClass("com.unity3d.player.UnityPlayer");
        currentActivity = UnityPlayer.GetStatic <AndroidJavaObject>("currentActivity");

        //
        string param = "appid=" + AppID + ",engine_mode=msc";
        // Set APPID
        AndroidJavaClass SpeechUtility = new AndroidJavaClass("com.iflytek.cloud.SpeechUtility");

        SpeechUtility.CallStatic <AndroidJavaObject> ("createUtility",
                                                      currentActivity.Call <AndroidJavaObject>("getApplicationContext"),
                                                      new AndroidJavaObject("java.lang.String", param)
                                                      );

        //Init Listeners
        mInitListener       = new XfInitListener();
        mTtsListener        = new XfSynthesizerListener();
        mRecognizerListener = new XfRecognizerListener();

        //Init mTts and mIat
        if (mInitListener != null)
        {
            SpeechSynthesizer = new AndroidJavaClass("com.iflytek.cloud.SpeechSynthesizer");
            SpeechRecognizer  = new AndroidJavaClass("com.iflytek.cloud.SpeechRecognizer");

            mTts = SpeechSynthesizer.CallStatic <AndroidJavaObject> ("createSynthesizer", currentActivity, mInitListener);
            mIat = SpeechRecognizer.CallStatic <AndroidJavaObject> ("createRecognizer", currentActivity, mInitListener);
        }
        inited = true;
#endif
    }
Exemplo n.º 2
0
    public static void initIFlyVoice()
    {
#if UNITY_ANDROID
        //Initialize AndroidJavaClass(Please do not delete the commended codes for that those code are for test and check)
        UnityPlayer     = new AndroidJavaClass("com.unity3d.player.UnityPlayer");
        currentActivity = UnityPlayer.GetStatic <AndroidJavaObject>("currentActivity");

        //
        string param = "appid=" + AppID + ",engine_mode=msc";
        // Set APPID
        AndroidJavaClass SpeechUtility = new AndroidJavaClass("com.iflytek.cloud.SpeechUtility");

        SpeechUtility.CallStatic <AndroidJavaObject>("createUtility",
                                                     currentActivity.Call <AndroidJavaObject>("getApplicationContext"),
                                                     new AndroidJavaObject("java.lang.String", param)
                                                     );

        //Init Listeners
        mInitListener       = new XfInitListener();
        mTtsListener        = new XfSynthesizerListener();
        mRecognizerListener = new XfRecognizerListener();
        mWakeupListener     = new XfWakeupListener();

        //Init mTts and mIat
        if (mInitListener != null)
        {
            SpeechSynthesizer = new AndroidJavaClass("com.iflytek.cloud.SpeechSynthesizer");
            SpeechRecognizer  = new AndroidJavaClass("com.iflytek.cloud.SpeechRecognizer");
            SpeechWakeup      = new AndroidJavaClass("com.iflytek.cloud.VoiceWakeuper");

            mTts = SpeechSynthesizer.CallStatic <AndroidJavaObject>("createSynthesizer", currentActivity, mInitListener);
            mIat = SpeechRecognizer.CallStatic <AndroidJavaObject>("createRecognizer", currentActivity, mInitListener);
            mIvw = SpeechWakeup.CallStatic <AndroidJavaObject>("createWakeuper", currentActivity, mInitListener);
            //创建唤醒对象后直接在init中启用(这个项目中没有单独在程序初始化时调用init,而是写作static方法)
            setIvwParam();
            int code = mIvw.Call <int>("startListening", mWakeupListener);
            if (code == 0)
            {
                "唤醒初始化完成".ShowAsToast();
            }
        }
        else
        {
            "初始化失败".ShowAsToast();
        }
        inited = true;
#endif
    }