Android学习之TTS踩坑笔记 |
您所在的位置:网站首页 › 安卓tts语音引擎怎么用 › Android学习之TTS踩坑笔记 |
•前言
最近在做一款英文词典的 APP,做到语音模块的时候,我裂开,从网上搜索了各种博客,各种瞎捣鼓,模拟器就是不发音; 辗转反侧数日,终于让我找到解决之法,接下来就本次测试列出一些需要(必须)解决的问题: 模拟器如何联网 模拟器如何安装 TTS 引擎? 模拟器如何安装已下载好的 apk 文件?接下来就这些问题做出一一解答; •准备工作我在 Genymotion 上下载了两个模拟器,分别为 Android 7.0 , Android 8.0 , Android 9.0; 准备好如下文件,我放在了网盘中,需要的话,自行下载提取【网盘链接,提取码:t2li】; 打开【Oracle VM VirtualBox】,选中 Android 7.0 设备,点击【设置】; 来到如下界面,选中【网络】->【网卡 1】,点击【高级】,将【混杂模式】更改为全部允许; 接着打开【网卡 2】,将连接方式更改为【NAT】; 重启模拟器,打开浏览器输入 www.baidu.com 来检查网络连接情况; 虽然 WIFI 上有个的感叹号,但丝毫不影响模拟器联网; Android 8.0 , Android 9.0 联网同上; 问题一解决 √; •模拟器如何安装 apk?将下载好的【qq.apk】以拖拽的方式安装到 Android 7.0 上; 你会发现,他会给你报错; 意思是说 Genymotion 是基于 X86 的,不支持 ARM 架构,所以基于 ARM 架构 的应用就无法安装。 解决方案将【ARM_Translation_low_version.zip】拖拽到 Android 7.0 模拟器中; 如果出现如下界面: 恭喜你,安装成功,接下需要你重启该模拟器; 如果没有出现该界面,那么,就需要检查一下文件路径以及文件名: 文件路径不能包含中文,参考一下我的路径 E:\TTS\ARM_Translation_low_version.zip 文件名不能包含空格,比如把【ARM_Translation_low_version.zip】改成了【ARM_Translation low_version.zip】,这些操作都会导致拖放失败此时,再次将【qq.apk】拖拽到 Android 7.0 上,拖放前一定要记得重启模拟器; Android 8.0 , Android 9.0 模拟器安装 apk 方式同上,只需要将【ARM_Translation】更改为对应的【ARM】即可; 问题解决√; •模拟器如何安装 TTS 引擎?解决了第二个问题后,这个岂不变得 so easy~ 将【GoogleTTS.apk】拖放到模拟器上,然后打开【设置】->【无障碍】->【文字转语音(TTS)输出】, 并将【首选引擎】更改为 Google 文字转语音引擎; 接下来就是检验阶段,新建一个 TestTTS 项目,添加如下代码; activity_main.xml MainActivity.java public class MainActivity extends AppCompatActivity { private TextToSpeech textToSpeech; private EditText editText; private Button mBtnSpeech; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); editText = findViewById(R.id.main_text); mBtnSpeech = findViewById(R.id.main_btn_speech); textToSpeech = new TextToSpeech(this, new TextToSpeech.OnInitListener() { public void onInit(int status) { if (status == TextToSpeech.SUCCESS) { //设置发音的语言 int result = textToSpeech.setLanguage(Locale.ENGLISH); if (result == TextToSpeech.LANG_MISSING_DATA || result == TextToSpeech.LANG_NOT_SUPPORTED) { Toast.makeText(MainActivity.this, "发音失败", Toast.LENGTH_LONG).show(); } else { Toast.makeText(MainActivity.this, "发音成功", Toast.LENGTH_LONG).show(); } } } }); mBtnSpeech.setOnClickListener(new View.OnClickListener() { public void onClick(View view) { textToSpeech.speak(editText.getText().toString(), TextToSpeech.QUEUE_FLUSH, null); } }); } }编译运行,自己本地测试一下,我这是可行的。 由于我找的这个【GoogleTTS.apk】支持的 Android 版本需要 ≥ 8.0,所以,要测试的话,还是要在 Android 8.0 或 Android 9.0 上测试。 •写在最后兜兜转转捣鼓了好几天,还好成功了,感谢大佬们写的博客,助我一臂之力; 【Android模拟器Genymotion安装apk】 【win10安装 Genymotion ARM Translation教程(避免掉入大坑)】 【TTS(Text To Speech)文字转语音简单实现】 【Android TTS系列一——如何让app具备tts能力】 |
今日新闻 |
点击排行 |
|
推荐新闻 |
图片新闻 |
|
专题文章 |
CopyRight 2018-2019 实验室设备网 版权所有 win10的实时保护怎么永久关闭 |