在Speech RecognitionListener android

时间:2016-08-04 05:21:21

标签: android audio speech-recognition recognizer-intent

我几乎每个链接都保存了音频并将其转换为文本,但我没有找到任何方法可以在自定义识别监听器中获取音频Url

  1. record/save audio from voice recognition intent

  2. How to use Androids' speech to text with audio sample file

  3. 和其他许多人一样...... 我在PuzzleizerIntent

    的帮助下到达这里的音频网址
    @Override
        public void onActivityResult(int requestCode, int resultCode, Intent data) {
            super.onActivityResult(requestCode, resultCode, data);
    
            switch (requestCode) {
                case REQ_CODE_SPEECH_INPUT: {
                    if (resultCode == getActivity().RESULT_OK && null != data) {
    
                        ArrayList<String> result = data
                                .getStringArrayListExtra(RecognizerIntent.EXTRA_RESULTS);
                        txtSpeechInput.setText(result.get(0));
                        Uri audioUri = data.getData();
                        ContentResolver contentResolver = getActivity().getContentResolver();
                        try {
                            InputStream filestream = contentResolver.openInputStream(audioUri);
                            copyInputStreamToFile(filestream, new File(Environment.getExternalStorageDirectory()+ "/recording.amr"));
                            Log.e("audio", "uri= "+ audioUri);
                        } catch (FileNotFoundException e) {
                            e.printStackTrace();
                        }
                    }
    
                    break;
                }
    
            }
        }
    

    我想在这里得到它,因为我不想使用Google对话框我想在没有对话框的情况下自定义它

     @Override
        public void onResults(Bundle results) {
            String str = new String();
            Log.d("testing1", "onResults " + results);
            data = results.getStringArrayList(SpeechRecognizer.RESULTS_RECOGNITION);
    
            str=data.get(0)+"";
            result_txt.setText(str);
            speech.stopListening();
    
            if(speech!=null){
                speech.destroy();
            }
        }
    

    但是我无法从此捆绑包结果中获取URL。 我有两个问题:

    以及其他许多人。 它不是人们已经问过这个问题的重复问题,但给出的解决方案是使用

      

    startActivityForResult

    然后在上面提到的代码片段中获取音频网址,但我想在

    中获取它
      

    onResults(Bundle results)

    请问我是否有任何疑问。我想在片段中使用它。 提前致谢!!。

0 个答案:

没有答案