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并使用一组带值的命令映射
- 过滤原始数据后(现在只有“风险”),将结果用于下一个作业