Android RecognizerIntent 语音识别 returns RESULT_CLIENT_ERROR
Android RecognizerIntent Speech recognition returns RESULT_CLIENT_ERROR
我在 Android TV 应用程序中使用 Leanback 搜索片段实现了搜索视图。
它适用于键盘输入文本。但是语音搜索returns RESULT_CLIENT_ERROR99%。但是,文本出现在屏幕上的编辑文本中,但不会 return 在 onActivityResult 中。一旦进入 bluemoon,我就会得到 RESULT_OK 的意图,其中包含正确的数据。
设备:Nexus 播放器
即使是默认搜索,大多数项目的工作方式也相同。我几乎没有通过语音获得结果。 (我的意思是在 Nexus 播放器的主屏幕中搜索)
我尝试使用 SearchEditText 的引用来获取文本,但运气不好。
代码如下:
setSpeechRecognitionCallback(new SpeechRecognitionCallback() {
@Override
public void recognizeSpeech() {
try {
startActivityForResult(getRecognizerIntent(), REQUEST_SPEECH);
} catch (final ActivityNotFoundException e) {
Log.d("ActivityNotFoundException",e.toString());
}
}
});
onActivityResult
@Override
public void onActivityResult(final int requestCode, final int resultCode, final Intent data) {
switch (requestCode) {
case REQUEST_SPEECH:
switch (resultCode) {
case Activity.RESULT_OK:
setSearchQuery(data, true);
break;
case RecognizerIntent.RESULT_CLIENT_ERROR:
Log.d("RESULT_CLIENT_ERROR", String.valueOf(requestCode));
break;
}
}
}
我如何让它 100% 发挥作用 我可以更改提供的意图吗?
这是 Nexus 播放器的问题,因为即使是 Nexus 播放器的默认搜索操作也是如此。
然而,同一段代码在 Sony Bravia 和其他 Android 电视上 100% 正常工作。
我在 Android TV 应用程序中使用 Leanback 搜索片段实现了搜索视图。 它适用于键盘输入文本。但是语音搜索returns RESULT_CLIENT_ERROR99%。但是,文本出现在屏幕上的编辑文本中,但不会 return 在 onActivityResult 中。一旦进入 bluemoon,我就会得到 RESULT_OK 的意图,其中包含正确的数据。 设备:Nexus 播放器
即使是默认搜索,大多数项目的工作方式也相同。我几乎没有通过语音获得结果。 (我的意思是在 Nexus 播放器的主屏幕中搜索)
我尝试使用 SearchEditText 的引用来获取文本,但运气不好。
代码如下:
setSpeechRecognitionCallback(new SpeechRecognitionCallback() {
@Override
public void recognizeSpeech() {
try {
startActivityForResult(getRecognizerIntent(), REQUEST_SPEECH);
} catch (final ActivityNotFoundException e) {
Log.d("ActivityNotFoundException",e.toString());
}
}
});
onActivityResult
@Override
public void onActivityResult(final int requestCode, final int resultCode, final Intent data) {
switch (requestCode) {
case REQUEST_SPEECH:
switch (resultCode) {
case Activity.RESULT_OK:
setSearchQuery(data, true);
break;
case RecognizerIntent.RESULT_CLIENT_ERROR:
Log.d("RESULT_CLIENT_ERROR", String.valueOf(requestCode));
break;
}
}
}
我如何让它 100% 发挥作用 我可以更改提供的意图吗?
这是 Nexus 播放器的问题,因为即使是 Nexus 播放器的默认搜索操作也是如此。
然而,同一段代码在 Sony Bravia 和其他 Android 电视上 100% 正常工作。