AndroidTTSSDK集成进入helloworld项目简介:本文针对遇见集成Android合成SDK有困难的用户,以hellow orld项目作为示例,给出的步骤。本文将集成MiniActivity至一个新建的helloworld项目。参考文档:https: //cloud.baidu.com/doc/SPEECH/TTS-Android-SDK.htmlhttps://cloud.ba idu.com/doc/SPEECH/TTS-Android-SDK.html#.E9.9B.86.E6.88.90.E6.8C. 87.E5.8D.97前提:将官方demo的源代码通过androidstudio在android真机上运行起来并且测试成功。D emo暂不支持模拟器。目标用户:Android初学者或者想立即集成的用户。AndroidStudio3.0.1官方Demo2. 3.1Gradle3.0.1测试机型红米note4Android6.0准备一个helloworld项目及官网注册应用注意,红 框画出的是包名。在项目测试成功后,您可以将您自己的包名填写在官网申请的应用里。并且该应用开通了语音识别能力。目前您可以“暂时”用 demo的示例的应用信息。APP_ID10250719API_KEYbUvzFxRyelDpAVDs7PAUGxjCSECRE T_KEYeb664a8bfbaddf0c8acba65a9493e44b包名Packagename:com.baidu.tt s.sample改成MimiActivity:Androidstudio自动下载依赖项目后,运行,手机上出现以下界面:复制An droidManifest.xml从官方demo的AndroidManifest.xml中找到如下信息,然后复制到您自己的同名文件 中。红色框内的权限是您需要的添加的部分复制jar文件将官方demo中的app\libs\com.baidu.tts_2.3.1. 20170808_e39ea89.jar复制进您项目的同名目录。此处是android默认的jarlibs目录,在build.g radle中可以确认:替换MiniActivity找到官方demo中的MiniActivity(com.baidu.tts.sam ple目录下)点击上图刷新按钮,可以发现需要更新common_minilayout文件及若干JAVA类复制官方demo中的re s\layout\common_mini.xml文件,至项目的同名目录测试编译项目,此时应该没有报错。复制jni库的so文件确认 源代码MiniActivity中开启纯在线privateTtsModettsMode=TtsMode.ONLINE;此时项 目可以运行,可以看见如下界面:由于缺少so文件,点击开始后,在logcat中有如下报错:12-2718:32:52.50713 937-14063/sample.tts.baidu.com.hellottsE/art:Noimplementation foundforintcom.baidu.speechsynthesizer.utility.SpeechDecoder.d ecodeWithCallback(byte[],java.lang.Object)(triedJava_com_baidu _speechsynthesizer_utility_SpeechDecoder_decodeWithCallbackandJ ava_com_baidu_speechsynthesizer_utility_SpeechDecoder_decodeWithC allback___3BLjava_lang_Object_2)我们继续修改项目:复制官方demo中app\src\main\ jniLibs至项目的同名目录,如果对androidstudio不熟悉,这一步可以在windows资源管理器操作目录层级如下 :联网测试请确认手机可以联网,MiniActivity中开启纯在线privateTtsModettsMode=TtsMod e.ONLINE;运行项目后,点击“合成并播放”按钮(注意只要点一次),会听见女声"欢迎使用百度语音合成,请在代码中修改合成 文本"注意,如果您不知道测试方法的,请先运行官方demo,确保官方demo先测试成功。至此在线合成集成成功,之后我们需要根据需求 定制参数。集成离线合成。此时开启离线功能:修改privateTtsModettsMode=TtsMode.MIX;可以看 见缺少/sdcard/baiduTTS/bd_etts_text.dat根据提示,从assets目录复制3个dat文件到/s dcard/baiduTTS/如果/sdcard/baiduTTS不可写,也可以将privatestaticfinalStr ingTEMP_DIR="/sdcard/baiduTTS";修改为任意目录此时发现-204错误,核对后发现一开始的4个鉴 权信息中包名错了修改为正确的包名com.baidu.tts.sample此时,官方demo集成全部完毕。断网后测试会听见男声: 个性化合成参数离线的男女声选择:合成参数选择替换自己申请应用的信息及包名此时别忘了测试都是用demo的appIdappKey SecretKey及包名信息的。我们以一个新的注册信息为例,注意该应用别忘了开启合成能力:AppID:10594055API Key:Gw1VepUKbSHUno5z2siRmxGnSecretKey:ae663212084d0624d79d4992f8f5021f包名Packagename:com.yourdomain.baidu修改appIdappKeyappSecret修改包名:代码下载 |
|