首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >谷歌语音识别监听器不监听

谷歌语音识别监听器不监听
EN

Stack Overflow用户
提问于 2017-02-27 20:29:03
回答 1查看 64关注 0票数 0

您好,我正在运行google语音识别服务,但它在几秒钟后停止收听,我如何重新启动它或使其循环

代码语言:javascript
复制
    mSpeechRecognizer = SpeechRecognizer.createSpeechRecognizer(getApplication());
    mSpeechRecognizerIntent = new Intent(RecognizerIntent.ACTION_RECOGNIZE_SPEECH);
    mSpeechRecognizerIntent.putExtra(RecognizerIntent.EXTRA_LANGUAGE_MODEL,
            RecognizerIntent.LANGUAGE_MODEL_FREE_FORM);
    mSpeechRecognizerIntent.putExtra(RecognizerIntent.EXTRA_CALLING_PACKAGE,getPackageName());


    SpeechRecognitionListener listener = new SpeechRecognitionListener();
    mSpeechRecognizer.setRecognitionListener(listener);

   CountDownTimer mTimer = new CountDownTimer(1500, 500) {
        @Override
        public void onTick(long l) {
        }

        @Override
        public void onFinish() {
            Log.d("Speech", "Timer.onFinish: Timer Finished, Restart recognizer");
            //mSpeechRecognizer.cancel();
             mSpeechRecognizer.startListening(mSpeechRecognizerIntent);
        }
    };

mTimer.start();
EN

回答 1

Stack Overflow用户

发布于 2017-02-27 20:35:13

删除您的CountdownTimer。将其放入一个方法中,当您想要开始侦听时,调用该方法。

代码语言:javascript
复制
try {
        startActivityForResult(intent, REQ_CODE_SPEECH_INPUT);
    } catch (ActivityNotFoundException a) {
        Toast.makeText(getApplicationContext(),
                "Speech not supported on your device",
                Toast.LENGTH_SHORT).show();
    }

语音输出可以在onActivitySpeech方法中获得。

代码语言:javascript
复制
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
    super.onActivityResult(requestCode, resultCode, data);
    if (requestCode == REQ_CODE_SPEECH_INPUT) {
        if (resultCode == RESULT_OK && data != null) {
        //Handle the output
        }
    }
 }
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42485846

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档