我正在使用带有 minSDK 14 的 SpeechRecognizer 并添加了一个过滤器以获得最准确的结果。我在 Activity 的 onActivityResult() 中有这段代码。
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if (requestCode == VOICE_RECOGNITION && resultCode == RESULT_OK) {
ArrayList<String> results = data
.getStringArrayListExtra(RecognizerIntent.EXTRA_RESULTS);
// this is only available in API 14
String confidenceExtra = RecognizerIntent.EXTRA_CONFIDENCE_SCORES;
float[] confidence = data.getFloatArrayExtra(confidenceExtra);
// My filtering...
}
}
因为过滤是基于每个结果的置信度,所以我需要这个常量RecognizerIntent.EXTRA_CONFIDENCE_SCORES
才能请求置信度。但遗憾的是,这仅在 API 14++ 和 AFAIK 中可用,SpeechRecognition 在支持包中不可用。
有没有办法在较低的 API 级别获得结果的信心?或者是否有一种解决方法可以根据其他值进行一些过滤?