微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 手机设计讨论 > MTK手机平台交流 > 设置--语音控制语言--如何设置默认语言

设置--语音控制语言--如何设置默认语言

时间:10-02 整理:3721RD 点击:
JB5版本请用下面的方式修改:
1. 如何客制自己的default语言。
请参考以下处理方式:
原生默认设置为“简体中文”
1) 请申请patch:ALPS00943939
2) 修改alps\mediatek\php?mod=tag&id=6090" target="_blank" class="relatedlink">Frameworks\base\voicecommand\cfg\voicelanguage.xml
将DefaultLanguage ID设置成您想要的语言。


3) 修改文件后, 进行full编译
./mk <project> new
4) Download至手机验证。
2. 如何客制“语音控制语言与系统语言联动”
请参考以下处理方式:
原生默认设置为voicecomamnd有自己的独立UI设置语言控制语言
1) 请申请patch: ALPS00945385
2) 修改alps\mediatek\frameworks\base\voicecommand\cfg\
voicecustomization.xml
将SystemLanguage修改为“TRUE”。


3) 修改文件后, 进行full编译
./mk <project> new
4) Download至手机验证。
JB9版本请用下面的方式修改:
1. 如何客制自己的default语言。
请参考以下处理方式:
原生默认设置为“简体中文”
1) 修改mediatek\packages\apps\VoiceCommand\res\xml\voicelanguage.xml
将DefaultLanguage ID设置成您想要的语言


2) 修改文件后, 进行模块编译
./mk <project> mm mediatek\packages\apps\VoiceCommand
(有时候只修改xml文件用该命令,不一定能保证会重新生成apk,所以可以稍微修改一下
VoiceCommand中的
Java文件,例如加一个空格,然后再编译)
3) adb push system/app,然后开机重启验证。
2. 如何客制“语音控制语言与系统语言联动”
请参考以下处理方式:
原生默认设置为voicecomamnd有自己的独立UI设置语言控制语言
1) 修改mediatek\packages\apps\VoiceCommand\res\xml\ voicecustomization.xml
将SystemLanguage修改为“TRUE”。


2) 修改文件后, 进行模块编译
./mk <project> mm mediatek\packages\apps\VoiceCommand
(有时候只修改xml文件用该命令,不一定能保证会重新生成apk,所以可以稍微修改一下
VoiceCommand中的
Java文件,例如加一个空格,然后再编译)
3) adb push system/app,然后开机重启验证。
Ps:但是如果系统语言是英文/简体中/繁体中文以外的语言,则语音控制模块的语言将会保持在上
次的状态,不会随之改变。
3. 在 2中语音控制语言与系统语言联动
如果想根据所设置语言的不同自动更新为英文或中文,当把语言设置为除英文和中文之外的其他语
言(比如西班牙文)时,语音的语言自动更新为英文,可以按以下方法进行修改:
3.1、 alps\mediatek\frameworks\base\voicecommand\cfg\voicecustomization.xml

<VoiceCustomizations>
<VoiceCustomization SystemLanguage="FALSE" DefaultLanguage="zh-CN" />
<!-- Language="简体中文" code="zh-CN"
Language="繁体中文" code="zh-TW"
Language="英文" code="en-US" -->
</VoiceCustomizations
修改为
<VoiceCustomizations>
<VoiceCustomization SystemLanguage="TRUE" DefaultLanguage="en-US" />
<!-- Language="简体中文" code="zh-CN"
Language="繁体中文" code="zh-TW"
Language="英文" code="en-US" -->
</VoiceCustomizations>
3.2、
alps\mediatek\packages\apps\VoiceCommand\src\com\mediatek\voicecommand\mgr
\ConfigurationManager.java

public void updateCurLanguageIndex(String language) {
if (language == null) {
return;
}
for (int i = 0; i < mLanguageList.size(); i++) {
if (language.equals(mLanguageList.get(i).mLanguageCode)) {
mCurrentLanguageIndex = i;
SharedPreferences languagePref = mContext.getSharedPreferences(
mVoiceLanguageCacheFile, Context.MODE_PRIVATE);
languagePref.edit().putInt(mCurSystemLanguageIndex,
mCurrentLanguageIndex).apply();
break;
}
}
}
修改为:
public void updateCurLanguageIndex(String language) {
boolean flag = false;
if (language == null) {
return;
}
for (int i = 0; i < mLanguageList.size(); i++) {
if (language.equals(mLanguageList.get(i).mLanguageCode)) {
flag = true;
mCurrentLanguageIndex = i;
SharedPreferences languagePref = mContext.getSharedPreferences(
mVoiceLanguageCacheFile, Context.MODE_PRIVATE);
languagePref.edit().putInt(mCurSystemLanguageIndex,
mCurrentLanguageIndex).apply();
break;
}
}
if (!flag) {
mCurrentLanguageIndex = 2;
}
}
补充说明: 目前语音控制功能只支持 普通话,台湾话,英语,所以这里的默认语言和互动语言也
只能在这三者间切换。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top