HarmonyOS鸿蒙Next中实时语音识别部分设备报错 subError code: 3003,errorMessage: Service unavailable
HarmonyOS鸿蒙Next中实时语音识别部分设备报错 subError code: 3003,errorMessage: Service unavailable 实时语音识别,集成后在小米14手机HyperOS 2.0.109.0系统上可以正常识别,但在定制的平板系统上报错,报错的设备Android版本是11。在报错的设备上安装通义千问App也可以正常调用语音输入。
调用代码为:
// context为应用上下文信息。
mSpeechRecognizer = MLAsrRecognizer.createAsrRecognizer(ContextUtil.getAppContext());
MLAsrListener mlAsrListener = new MLAsrListener() {
@Override
public void onResults(Bundle bundle) {
System.out.println("voice :onResults = " + bundle.toString());
if (null != mCallback) {
mCallback.onResults(bundle);
}
}
@Override
public void onRecognizingResults(Bundle bundle) {
System.out.println("voice :onRecognizingResults = " + bundle.toString());
if (null != mCallback) {
mCallback.onRecognizingResults(bundle);
}
}
@Override
public void onError(int i, String s) {
System.out.println("voice :error = " + s);
}
@Override
public void onStartListening() {
System.out.println("voice :onStartListening");
}
@Override
public void onStartingOfSpeech() {
System.out.println("voice :onStartingOfSpeech");
}
@Override
public void onVoiceDataReceived(byte[] bytes, float v, Bundle bundle) {
System.out.println("voice :onVoiceDataReceived = " + bundle.toString());
}
@Override
public void onState(int i, Bundle bundle) {
System.out.println("voice :onState = " + bundle.toString());
}
};
mSpeechRecognizer.setAsrListener(mlAsrListener);
// 新建Intent,用于配置语音识别参数。
mSpeechRecognizerIntent = new Intent(MLAsrConstants.ACTION_HMS_ASR_SPEECH);
// 通过Intent进行语音识别参数设置。
mSpeechRecognizerIntent
// 设置识别语言为英语,若不设置,则默认识别英语。支持设置:"zh-CN":中文;"en-US":英语;"fr-FR":法语;"es-ES":西班牙语;"de-DE":德语;"it-IT":意大利语;"ar": 阿拉伯语;"ru-RU":俄语;"th=TH":泰语;"ms-MY":马来语;"fil-PH":菲律宾语;"tr-TR":土耳其语。
.putExtra(MLAsrConstants.LANGUAGE, "zh-CN")
// 设置识别文本返回模式为边识别边出字,若不设置,默认为边识别边出字。支持设置:
// MLAsrConstants.FEATURE_WORDFLUX:通过onRecognizingResults接口,识别同时返回文字;
// MLAsrConstants.FEATURE_ALLINONE:识别完成后通过onResults接口返回文字。
.putExtra(MLAsrConstants.FEATURE, MLAsrConstants.FEATURE_WORDFLUX)
// 静音检测时长(发音前,可设置3000到60000毫秒)(毫秒)
.putExtra(MLAsrConstants.VAD_START_MUTE_DURATION, 6000)
// 静音检测时长(发音后)(毫秒)
.putExtra(MLAsrConstants.VAD_END_MUTE_DURATION, 700)
// 是否设置标点
.putExtra(MLAsrConstants.PUNCTUATION_ENABLE, true)
// 设置使用场景,MLAsrConstants.SCENES_SHOPPING:表示购物,仅支持中文,该场景对华为商品名识别进行了优化。
//.putExtra(MLAsrConstants.SCENES, MLAsrConstants.SCENES_SHOPPING)
;
public void startRecognizing() {
// 启动语音识别。
mSpeechRecognizer.startRecognizing(mSpeechRecognizerIntent);
}
MLAsrListener的Log为:
System.out I voice :onStartListening
System.out I voice :onState = Bundle[{}]
System.out I voice :onVoiceDataReceived = Bundle[{}]
System.out I voice :onVoiceDataReceived = Bundle[{}]
System.out I voice :onStartingOfSpeech
System.out I voice :onVoiceDataReceived = Bundle[{}]
System.out I voice :onVoiceDataReceived = Bundle[{}]
System.out I voice :onVoiceDataReceived = Bundle[{}]
System.out I voice :onVoiceDataReceived = Bundle[{}]
System.out I voice :onVoiceDataReceived = Bundle[{}]
System.out I voice :onVoiceDataReceived = Bundle[{}]
System.out I voice :onVoiceDataReceived = Bundle[{}]
System.out I voice :onVoiceDataReceived = Bundle[{}]
System.out I voice :onVoiceDataReceived = Bundle[{}]
System.out I voice :onVoiceDataReceived = Bundle[{}]
System.out I voice :onVoiceDataReceived = Bundle[{}]
System.out I voice :onVoiceDataReceived = Bundle[{}]
System.out I voice :onVoiceDataReceived = Bundle[{}]
System.out I voice :onVoiceDataReceived = Bundle[{}]
System.out I voice :onVoiceDataReceived = Bundle[{}]
System.out I voice :onVoiceDataReceived = Bundle[{}]
System.out I voice :onVoiceDataReceived = Bundle[{}]
System.out I voice :onVoiceDataReceived = Bundle[{}]
System.out I voice :onVoiceDataReceived = Bundle[{}]
System.out I voice :onVoiceDataReceived = Bundle[{}]
System.out I voice :onVoiceDataReceived = Bundle[{}]
System.out I voice :onVoiceDataReceived = Bundle[{}]
System.out I voice :onVoiceDataReceived = Bundle[{}]
System.out I voice :onVoiceDataReceived = Bundle[{}]
System.out I voice :onVoiceDataReceived = Bundle[{}]
System.out I voice :onVoiceDataReceived = Bundle[{}]
System.out I voice :onVoiceDataReceived = Bundle[{}]
System.out I voice :onVoiceDataReceived = Bundle[{}]
System.out I voice :onVoiceDataReceived = Bundle[{}]
System.out I voice :onVoiceDataReceived = Bundle[{}]
System.out I voice :onVoiceDataReceived = Bundle[{}]
System.out I voice :onVoiceDataReceived = Bundle[{}]
System.out I voice :onVoiceDataReceived = Bundle[{}]
System.out I voice :onVoiceDataReceived = Bundle[{}]
System.out I voice :onVoiceDataReceived = Bundle[{}]
System.out I voice :onVoiceDataReceived = Bundle[{}]
System.out I voice :onVoiceDataReceived = Bundle[{}]
System.out I voice :onVoiceDataReceived = Bundle[{}]
System.out I voice :onVoiceDataReceived = Bundle[{}]
System.out I voice :onVoiceDataReceived = Bundle[{}]
System.out I voice :onVoiceDataReceived = Bundle[{}]
System.out I voice :onVoiceDataReceived = Bundle[{}]
System.out I voice :onVoiceDataReceived = Bundle[{}]
System.out I voice :onVoiceDataReceived = Bundle[{}]
System.out I voice :onVoiceDataReceived = Bundle[{}]
System.out I voice :onVoiceDataReceived = Bundle[{}]
System.out I voice :onVoiceDataReceived = Bundle[{}]
System.out I voice :onVoiceDataReceived = Bundle[{}]
System.out I voice :onVoiceDataReceived = Bundle[{}]
System.out I voice :onVoiceDataReceived = Bundle[{}]
System.out I voice :onVoiceDataReceived = Bundle[{}]
System.out I voice :onVoiceDataReceived = Bundle[{}]
System.out I voice :onVoiceDataReceived = Bundle[{}]
System.out I voice :onVoiceDataReceived = Bundle[{}]
System.out I voice :onVoiceDataReceived = Bundle[{}]
System.out I voice :onVoiceDataReceived = Bundle[{}]
System.out I voice :onVoiceDataReceived = Bundle[{}]
System.out I voice :onVoiceDataReceived = Bundle[{}]
System.out I voice :onVoiceDataReceived = Bundle[{}]
System.out I voice :onVoiceDataReceived = Bundle[{}]
System.out I voice :onVoiceDataReceived = Bundle[{}]
System.out I voice :onVoiceDataReceived = Bundle[{}]
System.out I voice :onVoiceDataReceived = Bundle[{}]
System.out I voice :onVoiceDataReceived = Bundle[{}]
System.out I voice :onVoiceDataReceived = Bundle[{}]
System.out I voice :onVoiceDataReceived = Bundle[{}]
System.out I voice :onVoiceDataReceived = Bundle[{}]
System.out I voice :onVoiceDataReceived = Bundle[{}]
System.out I voice :onVoiceDataReceived = Bundle[{}]
System.out I voice :onVoiceDataReceived = Bundle[{}]
System.out I voice :onVoiceDataReceived = Bundle[{}]
System.out I voice :onVoiceDataReceived = Bundle[{}]
System.out I voice :onVoiceDataReceived = Bundle[{}]
System.out I voice :onVoiceDataReceived = Bundle[{}]
System.out I voice :onVoiceDataReceived = Bundle[{}]
System.out I voice :onVoiceDataReceived = Bundle[{}]
System.out I voice :onVoiceDataReceived = Bundle[{}]
System.out I voice :onVoiceDataReceived = Bundle[{}]
System.out I voice :onVoiceDataReceived = Bundle[{}]
System.out I voice :onVoiceDataReceived = Bundle[{}]
System.out I voice :onVoiceDataReceived = Bundle[{}]
System.out I voice :onVoiceDataReceived = Bundle[{}]
System.out I voice :onVoiceDataReceived = Bundle[{}]
System.out I voice :onVoiceDataReceived = Bundle[{}]
System.out I voice :onVoiceDataReceived = Bundle[{}]
System.out I voice :onVoiceDataReceived = Bundle[{}]
System.out I voice :onVoiceDataReceived = Bundle[{}]
System.out I voice :onVoiceDataReceived = Bundle[{}]
System.out I voice :onVoiceDataReceived = Bundle[{}]
System.out I voice :onVoiceDataReceived = Bundle[{}]
System.out I voice :onVoiceDataReceived = Bundle[{}]
System.out I voice :onVoiceDataReceived = Bundle[{}]
System.out I voice :onVoiceDataReceived = Bundle[{}]
System.out I voice :onVoiceDataReceived = Bundle[{}]
System.out I voice :onVoiceDataReceived = Bundle[{}]
System.out I voice :onVoiceDataReceived = Bundle[{}]
System.out I voice :onVoiceDataReceived = Bundle[{}]
System.out I voice :onVoiceDataReceived = Bundle[{}]
System.out I voice :onVoiceDataReceived = Bundle[{}]
System.out I voice :onVoiceDataReceived = Bundle[{}]
System.out I voice :onVoiceDataReceived = Bundle[{}]
System.out I voice :onVoiceDataReceived = Bundle[{}]
System.out I voice :onVoiceDataReceived = Bundle[{}]
System.out I voice :onVoiceDataReceived = Bundle[{}]
System.out I voice :onVoiceDataReceived = Bundle[{}]
System.out I voice :onVoiceDataReceived = Bundle[{}]
System.out I voice :onVoiceDataReceived = Bundle[{}]
System.out I voice :onVoiceDataReceived = Bundle[{}]
System.out I voice :onVoiceDataReceived = Bundle[{}]
System.out I voice :onVoiceDataReceived = Bundle[{}]
System.out I voice :onVoiceDataReceived = Bundle[{}]
System.out I voice :onVoiceDataReceived = Bundle[{}]
System.out I voice :onVoiceDataReceived = Bundle[{}]
System.out I voice :onVoiceDataReceived = Bundle[{}]
System.out I voice :onVoiceDataReceived = Bundle[{}]
System.out I voice :onVoiceDataReceived = Bundle[{}]
System.out I voice :onVoiceDataReceived = Bundle[{}]
System.out I voice :onVoiceDataReceived = Bundle[{}]
System.out I voice :onVoiceDataReceived = Bundle[{}]
System.out I voice :onVoiceDataReceived = Bundle[{}]
System.out I voice :onVoiceDataReceived = Bundle[{}]
System.out I voice :onVoiceDataReceived = Bundle[{}]
System.out I voice :onVoiceDataReceived = Bundle[{}]
System.out I voice :onVoiceDataReceived = Bundle[{}]
System.out I voice :onVoiceDataReceived = Bundle[{}]
System.out I voice :onVoiceDataReceived = Bundle[{}]
System.out I voice :onVoiceDataReceived = Bundle[{}]
System.out I voice :onVoiceDataReceived = Bundle[{}]
System.out I voice :onVoiceDataReceived = Bundle[{}]
System.out I voice :onVoiceDataReceived = Bundle[{}]
System.out I voice :onVoiceDataReceived = Bundle[{}]
System.out I voice :onVoiceDataReceived = Bundle[{}]
System.out I voice :onVoiceDataReceived = Bundle[{}]
System.out I voice :onVoiceDataReceived = Bundle[{}]
System.out I voice :onVoiceDataReceived = Bundle[{}]
System.out I voice :onVoiceDataReceived = Bundle[{}]
System.out I voice :onVoiceDataReceived = Bundle[{}]
System.out I voice :onVoiceDataReceived = Bundle[{}]
System.out I voice :onVoiceDataReceived = Bundle[{}]
System.out I voice :onVoiceDataReceived = Bundle[{}]
System.out I voice :onVoiceDataReceived = Bundle[{}]
System.out I voice :onVoiceDataReceived = Bundle[{}]
System.out I voice :onVoiceDataReceived = Bundle[{}]
System.out I voice :onVoiceDataReceived = Bundle[{}]
System.out I voice :onVoiceDataReceived = Bundle[{}]
System.out I voice :onVoiceDataReceived = Bundle[{}]
System.out I voice :onVoiceDataReceived = Bundle[{}]
System.out I voice :onVoiceDataReceived = Bundle[{}]
System.out I voice :onVoiceDataReceived = Bundle[{}]
System.out I voice :onVoiceDataReceived = Bundle[{}]
System.out I voice :onVoiceDataReceived = Bundle[{}]
System.out I voice :onVoiceDataReceived = Bundle[{}]
System.out I voice :onVoiceDataReceived = Bundle[{}]
System.out I voice :onVoiceDataReceived = Bundle[{}]
System.out I voice :onVoiceDataReceived = Bundle[{}]
System.out I voice :onVoiceDataReceived = Bundle[{}]
System.out I voice :onVoiceDataReceived = Bundle[{}]
System.out I voice :onVoiceDataReceived = Bundle[{}]
System.out I voice :onVoiceDataReceived = Bundle[{}]
System.out I voice :onVoiceDataReceived = Bundle[{}]
System.out I voice :onVoiceDataReceived = Bundle[{}]
System.out I voice :onVoiceDataReceived = Bundle[{}]
System.out I voice :onVoiceDataReceived = Bundle[{}]
System.out I voice :onVoiceDataReceived = Bundle[{}]
System.out I voice :onVoiceDataReceived = Bundle[{}]
System.out I voice :onVoiceDataReceived = Bundle[{}]
System.out I voice :onVoiceDataReceived = Bundle[{}]
System.out I voice :onVoiceDataReceived = Bundle[{}]
System.out I voice :onVoiceDataReceived = Bundle[{}]
System.out I voice :onVoiceDataReceived = Bundle[{}]
System.out I voice :onVoiceDataReceived = Bundle[{}]
System.out I voice :onVoiceDataReceived = Bundle[{}]
System.out I voice :onVoiceDataReceived = Bundle[{}]
System.out I voice :onVoiceDataReceived = Bundle[{}]
System.out I voice :onVoiceDataReceived = Bundle[{}]
System.out I voice :onVoiceDataReceived = Bundle[{}]
System.out I voice :onVoiceDataReceived = Bundle[{}]
System.out I voice :onVoiceDataReceived = Bundle[{}]
System.out I voice :onVoiceDataReceived = Bundle[{}]
System.out I voice :onVoiceDataReceived = Bundle[{}]
System.out I voice :onVoiceDataReceived = Bundle[{}]
System.out I voice :onVoiceDataReceived = Bundle[{}]
System.out I voice :onVoiceDataReceived = Bundle[{}]
System.out I voice :onVoiceDataReceived = Bundle[{}]
System.out I voice :onVoiceDataReceived = Bundle[{}]
System.out I voice :onVoiceDataReceived = Bundle[{}]
System.out I voice :onVoiceDataReceived = Bundle[{}]
System.out I voice :onVoiceDataReceived = Bundle[{}]
System.out I voice :onVoiceDataReceived = Bundle[{}]
System.out I voice :onVoiceDataReceived = Bundle[{}]
System.out I voice :onVoiceDataReceived = Bundle[{}]
System.out I voice :onVoiceDataReceived = Bundle[{}]
System.out I voice :onVoiceDataReceived = Bundle[{}]
System.out I voice :onVoiceDataReceived = Bundle[{}]
System.out I voice :onVoiceDataReceived = Bundle[{}]
System.out I voice :onVoiceDataReceived = Bundle[{}]
System.out I voice :onVoiceDataReceived = Bundle[{}]
System.out I voice :onVoiceDataReceived = Bundle[{}]
System.out I voice :onVoiceDataReceived = Bundle[{}]
System.out I voice :onVoiceDataReceived = Bundle[{}]
System.out I voice :onVoiceDataReceived = Bundle[{}]
System.out I voice :onVoiceDataReceived = Bundle[{}]
System.out I voice :onVoiceDataReceived = Bundle[{}]
System.out I voice :onVoiceDataReceived = Bundle[{}]
System.out I voice :onVoiceDataReceived = Bundle[{}]
System.out I voice :onVoiceDataReceived = Bundle[{}]
System.out I voice :onVoiceDataReceived = Bundle[{}]
System.out I voice :onVoiceDataReceived = Bundle[{}]
System.out I voice :onVoiceDataReceived = Bundle[{}]
System.out I voice :onVoiceDataReceived = Bundle[{}]
System.out I voice :onVoiceDataReceived = Bundle[{}]
System.out
更多关于HarmonyOS鸿蒙Next中实时语音识别部分设备报错 subError code: 3003,errorMessage: Service unavailable的实战教程也可以访问 https://www.itying.com/category-93-b0.html
2 回复
在HarmonyOS鸿蒙Next中,实时语音识别报错subError code: 3003,errorMessage: Service unavailable,通常是由于语音识别服务不可用或未正确初始化导致的。可能的原因包括设备网络连接问题、服务端故障、或权限配置错误。建议检查设备网络状态,确保语音识别服务已正确配置并具备必要的权限。
更多关于HarmonyOS鸿蒙Next中实时语音识别部分设备报错 subError code: 3003,errorMessage: Service unavailable的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html