Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/388.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 Android Wear离线语音识别_Java_Android_Offline_Wear Os_Voice Recognition - Fatal编程技术网

Java Android Wear离线语音识别

Java Android Wear离线语音识别,java,android,offline,wear-os,voice-recognition,Java,Android,Offline,Wear Os,Voice Recognition,我正在尝试制作一个带有离线语音识别的Android Wear项目。它可以在线工作,与手机相连,但我希望穿戴设备是独立的 这是我的在线识别代码: private static final int SPEECH_RECOGNIZER_REQUEST_CODE = 0; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setConten

我正在尝试制作一个带有离线语音识别的Android Wear项目。它可以在线工作,与手机相连,但我希望穿戴设备是独立的

这是我的在线识别代码:

private static final int SPEECH_RECOGNIZER_REQUEST_CODE = 0;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.home);
    startSpeechRecognition();
}

private void startSpeechRecognition() {
    Intent intent = new Intent(RecognizerIntent.ACTION_RECOGNIZE_SPEECH);
    intent.putExtra(RecognizerIntent.EXTRA_LANGUAGE_MODEL, RecognizerIntent.LANGUAGE_MODEL_FREE_FORM);
    startActivityForResult(intent, SPEECH_RECOGNIZER_REQUEST_CODE);
}

@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
    if (requestCode == SPEECH_RECOGNIZER_REQUEST_CODE) {      
        if (resultCode == RESULT_OK) {
            List<String> results = data.getStringArrayListExtra(RecognizerIntent.EXTRA_RESULTS);
            String recognizedText = results.get(0);
            Log.d("VOICE TEST : ", recognizedText);
        }
    }
    super.onActivityResult(requestCode, resultCode, data);
}
private static final int SPEECH\u RECOGNIZER\u REQUEST\u code=0;
@凌驾
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.home);
startSpeechRecognition();
}
私有void startSpeechRecognition(){
意向意向=新意向(识别意向、行动、识别言语);
intent.putExtra(RecognizerIntent.EXTRA语言模型,RecognizerIntent.LANGUAGE模型自由形式);
startActivityForResult(意图、语音识别器、请求码);
}
@凌驾
受保护的void onActivityResult(int请求代码、int结果代码、意图数据){
如果(requestCode==语音识别器请求码){
if(resultCode==RESULT\u OK){
列表结果=data.getStringArrayListExtra(RecognizerIntent.EXTRA_结果);
字符串recognizedText=results.get(0);
Log.d(“语音测试:”,识别文本);
}
}
super.onActivityResult(请求代码、结果代码、数据);
}

非常感谢。

Android Wear语音识别器需要连接到手机和互联网才能工作。所以你想要达到的目标是不可能的


您可以通过断开手机与可穿戴设备的连接,然后尝试使用任何“Ok Google”命令来测试这一点。它不起作用。

我很确定谷歌的语音识别软件只有在你在线编辑时才起作用:看起来我错了,看看这个:不确定这是否仍然是必需的,但看起来谷歌将在安卓M/6.0/棉花糖中添加离线语音识别功能,至少在手机上是这样。但磨损装置可能能够利用这种能力。参见链接