Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/xamarin/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android ONutternenceCompleteListener不执行此任务_Android - Fatal编程技术网

Android ONutternenceCompleteListener不执行此任务

Android ONutternenceCompleteListener不执行此任务,android,Android,我正在编写一个应用程序,我想在完成文本到语音转换后打印祝酒词,这是我的代码 if (tts != null) { tts.stop(); tts.shutdown(); } tts = new TextToSpeech(MainActivity.this, new TextToSpeech.OnInitListener() { @SuppressWarnings("deprecation")

我正在编写一个应用程序,我想在完成文本到语音转换后打印祝酒词,这是我的代码

if (tts != null) {
        tts.stop();
        tts.shutdown();
    }
    tts = new TextToSpeech(MainActivity.this,
            new TextToSpeech.OnInitListener() {

                @SuppressWarnings("deprecation")
                @Override
                public void onInit(int status) {
                    // TODO Auto-generated method stub
                    if (status == TextToSpeech.SUCCESS) {

                        int result = tts.setLanguage(Locale.US);
                        if (result == TextToSpeech.LANG_MISSING_DATA
                                || result == TextToSpeech.LANG_NOT_SUPPORTED) {
                            Log.e("error", "This Language is not supported");
                        } else {

                            tts.speak("speak new or retrieve",
                                    TextToSpeech.QUEUE_ADD, null);
                            tts.setOnUtteranceCompletedListener(new 
OnUtteranceCompletedListener() {

                                @Override
                                public void onUtteranceCompleted(String arg0) {
                                    // TODO Auto-generated method stub
                                    runOnUiThread(new Runnable() {

                                        @Override
                                        public void run() {
                                            // TODO Auto-generated method
                                            // stub

                                            Toast.makeText(getApplicationContext(),  
"done........", Toast.LENGTH_SHORT).show();
                                        }
                                    });
                                }
                            });

但是演讲结束后,祝酒词不会出现。请帮助……

您需要使用参数key\u PARAM\u outrance\u ID调用speak,以识别文本tospeech.onutternancecompletedlistener中的一个话语

电话应该是这样的:

tts.speak("speak new or retrieve",TextToSpeech.QUEUE_ADD, new HashMap<String,String>()
    {{ 
          put(TextToSpeech.Engine.KEY_PARAM_UTTERANCE_ID,
              what_do_you_want_to_play_utterance_id);
    }} 
 ));
tts.speak(“说新的或检索”),TextToSpeech.QUEUE\u ADD,new HashMap()
{{ 
输入(TextToSpeech.Engine.KEY_参数_话语_ID,
你想做什么?你想玩什么;
}} 
));
我还建议在调用speak()之前设置tts.setOnPatternanceCompletedListener()