Obtenha o URI do áudio salvo no OnResults (resultado do pacote) no Speech RecognitionListener android

Eu segui quase todos os links para salvar áudio e convertê-lo em texto, mas não encontrei nenhuma maneira de obter URL de áudio no Ouvinte de reconhecimento personalizado

gravar / salvar áudio da intenção de reconhecimento de voz

Como usar o discurso do Android para texto com arquivo de amostra de áudio

e muitos outros também .... URL de áudio que cheguei aqui com a ajuda de RecognizerIntent

@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;
            }

        }
    }

Quero obtê-lo aqui, porque não quero usar a caixa de diálogo do Google. Quero personalizá-la sem a caixa de diálogo.

 @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();
        }
    }

Mas não consigo obter URL desses resultados do pacote. Eu tenho duas consultas:

Por favor, deixe-me saber Hoe posso obter URIs salvos em áudio em pacotesQuando eu personalizo a fala para o texto Ele escuta por um longo tempo Assim como RecognitionIntent, se o áudio não estiver gravando em 2 a 3 segundos, ele diz que não encontrou nenhum som. Eu segui esses links para a segunda pergunta:

Android - Reconhecimento de fala, limitando o tempo de audição

O reconhecimento de voz para de escutar após alguns segundos

e muitos outros também. Não é a pergunta duplicada que as pessoas já fizeram, mas a solução dada a eles está usando

startActivityForResult

e, em seguida, obter o URL de áudio no trecho de código acima mencionado, mas eu quero obtê-lo

onResults (resultados do pacote)

Por favor, pergunte-me se houver alguma dúvida. Eu quero usá-lo em fragmentos. Desde já, obrigado!!.

questionAnswers(0)

yourAnswerToTheQuestion