语音输入

来源:互联网 发布:淘宝站内站外推广 编辑:程序博客网 时间:2024/04/28 14:27
    public static final int VOICE_INPUT_REQUEST_CODE = 0;    private void voiceInput() {        try {            Intent intent = new Intent(RecognizerIntent.ACTION_RECOGNIZE_SPEECH);            intent.putExtra(RecognizerIntent.EXTRA_LANGUAGE_MODEL, RecognizerIntent.LANGUAGE_MODEL_FREE_FORM);            intent.putExtra(RecognizerIntent.EXTRA_PROMPT, getString(R.string.voicesearch_message));            startActivityForResult(intent, VOICE_INPUT_REQUEST_CODE);        } catch (final ActivityNotFoundException e) {            startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse(getString(R.string.voicesearch_url))));        }    }    @Override    protected void onActivityResult(int requestCode, int resultCode, Intent data) {        voiceOutput(requestCode, resultCode, data);        super.onActivityResult(requestCode, resultCode, data);    }    private void voiceOutput(int requestCode, int resultCode, Intent data) {        if ((requestCode == VOICE_INPUT_REQUEST_CODE && (resultCode == RESULT_OK))) {            String speakedString = "";            final ArrayList<String> speechToChar = data.getStringArrayListExtra(RecognizerIntent.EXTRA_RESULTS);            // Google语音返回一个字符列表,可能性依次降低。第一个是最有可能的,所以选择第一个字符。            if (speechToChar.size() > 0) {                speakedString = speechToChar.get(0);            }            Log.d("TAG", "显示的语音:" + speakedString.trim());        }    }


<string name="voicesearch_url">market://details?id=com.google.android.voicesearch</string> <string name="voicesearch_message">语音输入</string>



0 0
原创粉丝点击