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!!.