Google TTS添加中文语音包(全网最详细)

第一步:内置GoogleTTS文字转语音引擎

打上如下补丁:

不仅可以内置googletts而且可以把googletts文字转语音引擎设为默认选项。

diff --git a/frameworks/base/core/java/android/speech/tts/TextToSpeech.java b/frameworks/base/core/java/android/speech/tts/TextToSpeech.java
index 01562b3..99e7598 100644
--- a/frameworks/base/core/java/android/speech/tts/TextToSpeech.java
+++ b/frameworks/base/core/java/android/speech/tts/TextToSpeech.java
@@ -282,8 +282,8 @@ public class TextToSpeech {
          *         alone be the default.
          */
         @Deprecated
-        public static final String DEFAULT_ENGINE = "com.svox.pico";
-
+        //public static final String DEFAULT_ENGINE = "com.svox.pico";
+        public static final String DEFAULT_ENGINE = "com.google.android.tts";//luke add for default tts
         /**
          * Default audio stream used when playing synthesized speech.
          */
diff --git a/frameworks/base/packages/SettingsProvider/res/values/defaults.xml b/frameworks/base/packages/SettingsProvider/res/values/defaults.xml
index fce2497..300de87 100644
--- a/frameworks/base/packages/SettingsProvider/res/values/defaults.xml
+++ b/frameworks/base/packages/SettingsProvider/res/values/defaults.xml
@@ -217,4 +217,5 @@
 
     <!-- Default for Settings.System.VIBRATE_WHEN_RINGING -->
     <bool name="def_vibrate_when_ringing">false</bool>
+       <string name="default_tts" translatable="false">com.google.android.tts</string>
 </resources>
diff --git a/frameworks/base/packages/SettingsProvider/src/com/android/providers/settings/DatabaseHelper.java b/frameworks/base/packages/SettingsProvider/src/com/android/providers/settings/DatabaseHelper.java
index 3aae5e4..13875e1 100644
--- a/frameworks/base/packages/SettingsProvider/src/com/android/providers/settings/DatabaseHelper.java
+++ b/frameworks/base/packages/SettingsProvider/src/com/android/providers/settings/DatabaseHelper.java
@@ -2443,6 +2443,9 @@ class DatabaseHelper extends SQLiteOpenHelper {
             loadIntegerSetting(stmt, Settings.Secure.SLEEP_TIMEOUT,
                     R.integer.def_sleep_timeout);
 
+                       loadStringSetting(stmt, Settings.Secure.TTS_DEFAULT_SYNTH,
+                                       R.string.default_tts);//luke add for deault tts
+
             /*
              * IMPORTANT: Do not add any more upgrade steps here as the global,
              * secure, and system settings are no longer stored in a database
第二步:下载Google tts中文包

中文包下载网站:

"download_urls": [
        "https://dl.google.com/android/tts/v26/cmn-cn/cmn-cn-x-multi-r53.zvoice",
        "https://redirector.gvt1.com/edgedl/android/tts/v26/cmn-cn/cmn-cn-x-multi-r53.zvoice"
      ]

第三步:反编译Google tts apk(这里需要先去下载反编译工具apktool)

首先:
解包apk:java -jar apktool_2.11.1.jar d tts_googletts.apk -o tts_googletts
这会将 APK 文件解包到 tts_googletts 目录中

其次(重点):
复制cmn-cn/cmn-cn-x-multi-r53.zvoice 到assets下的voices文件中。

然后:

重新打包apk:java -jar apktool_2.11.1.jar b tts_googletts -o tts_googletts_new.apk
这会将修改后的文件重新打包成一个新的 APK 文件 tts_googletts_new.apk

最后:

对重新打包的tts_googletts_new.apk重新进行系统签名

第四步:重新安装 

adb install tts_googletts_new.apk

不仅可以内置googletts而且可以把googletts文字转语音引擎设为默认选项。

第五步:测试成果(不同设备选项位置可能不同)

打开系统设置,找到系统选项,在语言和输入法里找到语音选项下面的文字转语音输出选择中文点击播放测试。如果听到这是一个中文语音合成的范例说明内置成功。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值