我几乎按照每个链接进行音频保存并将其转换为文本,但我没有找到任何方法可以在自定义识别侦听器中获取音频 URL
还有许多其他人......我在 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;
}
}
}
我想在这里得到它,因为我不想使用 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。我有两个疑问:
- 请让我知道我可以在捆绑中实现音频保存的 URI
- 当我自定义语音到文本时它会听很长时间就像 RecognitionIntent 如果音频没有在 2-3 秒内录制,它会说没有找到任何声音我想用自定义的声音做同样的事情,因为它会听很长时间。我按照这些链接进行第二个问题:
以及许多其他人。它不是人们已经问过这个问题的重复问题,而是给他们的解决方案是使用
开始活动结果
然后在上面提到的代码片段中获取音频网址,但我想把它放进去
onResults(捆绑结果)
如果有任何疑问,请询问我。我想在片段中使用它。提前致谢!!。