Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/205.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 使用语音命令进行搜索_Java_Android_Android Studio - Fatal编程技术网

Java 使用语音命令进行搜索

Java 使用语音命令进行搜索,java,android,android-studio,Java,Android,Android Studio,我有一个简单的问题,每当我说“搜索音乐点击”它搜索“搜索音乐点击”也应该搜索我的音乐文件名点击。我试着放置不同的变量,但只有布尔型变量不会导致错误 if(voice_result.indexOf("search music") != -1){ voice_result.contains(voice_result) String a = voice_result; Intent intent = new Intent(MediaStore.INTENT_ACTION_MEDIA_PLAY_FROM

我有一个简单的问题,每当我说“搜索音乐点击”它搜索“搜索音乐点击”也应该搜索我的音乐文件名点击。我试着放置不同的变量,但只有布尔型变量不会导致错误

if(voice_result.indexOf("search music") != -1){
voice_result.contains(voice_result)
String a = voice_result;
Intent intent = new Intent(MediaStore.INTENT_ACTION_MEDIA_PLAY_FROM_SEARCH);
intent.putExtra(MediaStore.EXTRA_MEDIA_FOCUS, MediaStore.Audio.Media.ENTRY_CONTENT_TYPE);
intent.putExtra(SearchManager.QUERY, a);
startActivity(intent);}

这里的voice_结果是我的语音的处理结果,如果我尝试从voice命令搜索音乐,它总是搜索“search music Risk”而不是“Risk”。

您应该首先为语音识别api返回的内容编写解析器/过滤器。例如,您说“搜索音乐风险”:

  • 从原始数据中删除不必要或混乱的字符串,如“搜索”“音乐”。我建议您使用regex matcher并使用一组带值的命令映射

  • 过滤原始数据后(现在只有“风险”),将结果用于下一个作业


我尝试了你的建议,很高兴我将replaceAll值添加到空格中,然后对其进行了修剪