我参照文档合成的源码下载:

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中可以确认:

(五) 替换MiniActivity

找到官方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个鉴权信息中 包名错了

修改为正确的包名 com.baidu.tts.sample

此时,官方demo集成全部完毕。
断网后测试会听见男声:

(九) 个性化合成参数
离线的男女声选择:

合成参数选择

(十) 替换自己申请应用的信息及包名
此时别忘了测试都是用demo的appId appKey SecretKey及包名信息的。

我们以一个新的注册信息为例,注意该应用别忘了开启合成能力:

修改 appId appKey appSecret

修改包名:

(十一) 代码下载

我参照文档合成的源码下载:

https://download.csdn.net/download/qq_31939617/10388588 下载

更多相关文章

  1. MediaBrowserService 音乐播放项目
  2. Android实验一(在Android(安卓)Studio中创建项目和模拟器)
  3. Android(安卓)仿百度网页音乐播放器圆形图片转圈播放效果
  4. Android应用程序开发期末大作业(1)
  5. eclipse编译cocos2d-x2.2.6的Android
  6. Android(安卓)Studio导入项目app module一直不显示
  7. MediaBrowserService 音乐播放项目《IT蓝豹》
  8. (2.2.8.1)关于Android(安卓)Studio里的Gradle,你所需要知道的都在这
  9. Android(安卓)Studio3.0配置Butterknife8.8.1及大坑

随机推荐

  1. Android(安卓)TV webview禁止自动获取焦
  2. android studio打开react-native的androi
  3. 从Android界面开发谈起
  4. android控件属性
  5. 使用 Android(安卓)Studio 跑新浪微博SDK
  6. Android学习札记15:对Android中View绘制流
  7. Android(安卓)提供的一系列辅助系统开发
  8. 什么是mono for android(使用C#开发androi
  9. Androidmanifest.xml里的
  10. Android软键盘softboard(1)