我参照文档合成的源码下载:
https://download.csdn.net/download/qq_31939617/10388588 下载
文档:
Android TTS SDK 集成进入helloworld 项目
(一) 简介:
本文针对遇见集成Android合成SDK有困难的用户,以helloworld项目作为示例,给出的步骤。
本文将集成MiniActivity至一个新建的helloworld项目。
参考文档:
https://cloud.baidu.com/doc/SPEECH/TTS-Android-SDK.html#.E9.9B.86.E6.88.90.E6.8C.87.E5.8D.97
前提: 将官方demo的源代码通过android studio在android真机上运行起来并且测试成功。Demo暂不支持模拟器。
目标用户:Android初学者或者想立即集成的用户。
Android Studio 3.0.1
官方Demo 2.3.1
Gradle 3.0.1
测试机型 红米note4
Android 6.0
(二) 准备一个helloworld项目及官网注册应用
注意,红框画出的是包名。 在项目测试成功后,您可以将您自己的包名填写在官网申请的应用里。并且该应用开通了语音识别能力。
目前您可以“暂时”用demo的示例的应用信息。
改成MimiActivity:
Android studio自动下载依赖项目后,运行,手机上出现以下界面:
(三) 复制 AndroidManifest.xml
从官方demo的AndroidManifest.xml中找到如下信息,然后复制到您自己的同名文件中。
(四) 复制jar 文件
将官方demo中的app\libs\com.baidu.tts_2.3.1.20170808_e39ea89.jar复制进您项目的同名目录。
此处是android 默认的jar libs目录,在build.gradle中可以确认:
找到官方demo中的MiniActivity(com.baidu.tts.sample目录下)
点击上图刷新按钮,可以发现需要更新common_mini layout文件及若干JAVA类
复制官方demo中的 res\layout\common_mini.xml 文件,至项目的同名目录
测试编译项目,此时应该没有报错。
(六) 复制jni库的so文件
确认源代码MiniActivity中开启纯在线private TtsMode ttsMode = TtsMode.ONLINE;
此时项目可以运行,可以看见如下界面:
由于缺少so文件,点击开始后,在logcat中有如下报错:
12-27 18:32:52.507 13937-14063/sample.tts.baidu.com.hellotts E/art: No implementation found for int com.baidu.speechsynthesizer.utility.SpeechDecoder.decodeWithCallback(byte[], java.lang.Object) (tried Java_com_baidu_speechsynthesizer_utility_SpeechDecoder_decodeWithCallback and Java_com_baidu_speechsynthesizer_utility_SpeechDecoder_decodeWithCallback___3BLjava_lang_Object_2)
我们继续修改项目:
复制官方demo中 app\src\main\jniLibs 至项目的同名目录,如果对android studio不熟悉,这一步可以在windows 资源管理器操作
目录层级如下:
(七) 联网测试
请确认手机可以联网,
MiniActivity中开启纯在线private TtsMode ttsMode = TtsMode.ONLINE;
运行项目后,点击“合成并播放”按钮(注意只要点一次),会听见女声 “欢迎使用百度语音合成,请在代码中修改合成文本”
注意,如果您不知道测试方法的,请先运行官方demo,确保官方demo先测试成功。
至此在线合成集成成功,之后我们需要根据需求定制参数。
(八) 集成离线合成。
此时开启离线功能:
修改 private TtsMode ttsMode = TtsMode.MIX;
可以看见缺少/sdcard/baiduTTS/bd_etts_text.dat 根据提示,从assets 目录复制3个dat文件到 /sdcard/baiduTTS/
如果/sdcard/baiduTTS不可写,也可以将private static final String TEMP_DIR = “/sdcard/baiduTTS”; 修改为任意目录
此时发现-204错误,核对后发现一开始的4个鉴权信息中 包名错了
(九) 个性化合成参数
离线的男女声选择:
合成参数选择
(十) 替换自己申请应用的信息及包名
此时别忘了测试都是用demo的appId appKey SecretKey及包名信息的。
我们以一个新的注册信息为例,注意该应用别忘了开启合成能力:
(十一) 代码下载
我参照文档合成的源码下载:
https://download.csdn.net/download/qq_31939617/10388588 下载