Android Studio下Android应用开发集成百度语音合成使用方法样例

本文详述了在Android Studio中集成百度语音合成的步骤,包括注册开发者平台、下载资源、添加jar和so库、设置权限、实现语音合成功能代码。通过实例代码展示如何进行Tts初始化和合成播放,帮助开发者让应用实现文本转语音功能。
摘要由CSDN通过智能技术生成

转载请注明来源: http://blog.csdn.net/kjunchen/article/details/51093134

Android Studio下Android应用开发集成百度语音合成使用方法样例

首先,语音合成是指将文本信息转换成声音。意思就是将文本转化为声音,让你的应用开口说话。国内在业内比较有名的第三方语音合成平台有百度语音和科大讯飞。

本博文集成的是百度语音合成,其主要特点是:

  • 完全永久免费
    业界首创完全永久免费新形式,为开发者提供最流畅最自然的语音合成服务。完全免费,永久使用,彻底摆脱限制。

  • 离线在线融合模式
    SDK可以根据当前网络状况,自动判断使用本地引擎还是云端引擎进行语音合成,再也不用担心流量消耗!

  • 多语言多音色可选
    中文普通话、中英文混读、男声、女声任你选,更支持语速、音调、音量、音频码率设置,让你的应用拥有最甜美和最磁性的声音!

  • 流畅自然的合成效果
    语音合成技术业界领先,合成效果接近真人发声,流畅自然,且极具表现力,给你最舒适的听觉体验!

百度语音官方的Demo是在Eclipse环境下编写的,而在Android Studio中则有点小区别,下面请看百度语音合成使用详细步骤(一步一步操作不要跳跃心急吃不了热豆腐):

1、注册百度语音开发者平台

注册百度账号,注册开发者信息,创建应用,可以得到 APP ID、 API Key、和 Secret Key,在开发过程中会使用这三个值进行授权(很关键),开通语音合成服务,若需要使用离线合成功能还需要申请离线授权。详细步骤请看百度语音接入流程

Key值查看(很关键)

2、下载资源

下载百度语音SDK,根据自己的需要下载,本样例下载的是离在线融合语音合成SDK_Android版 , 地址: http://yuyin.baidu.com/tts/download

3、集成百度语音指南

3.1添加 jar 包和 so 库到工程

将开发包中的 libs 目录整体拷贝到工程目录(Eclipse的用户),libs 目录包括了jar包和各平台的 SO 库,开发者视应用需要可以进行删减。galaxy_lite.jar 是百度 Android 公共基础库,如果项目中还集成了其它百度 SDK,
如 Push SDK,在打包过程中出现类似如下的错误信息:

[2013-10-22  11:02:57  -  Dex  Loader]  Unable  to  execute  dex:  Multiple  dex  files  define 
Lcom/baidu/android/common/logging/Configuration; 
[2013-10-22  11:02:57  -  VoiceRecognitionDemo]  Conversion  to  Dalvik  format  failed:  Unable  to 
execute dex: Multiple dex files define Lcom/baidu/android/common/logging/Configuration; 

请将此 Jar 包移除。对于使用Android Studio的用户,应将libs目录中的jar包放在libs目录下,然后添加库依赖(千万别忘记), 而 .SO 库则应该放在jniLibs目录下, jniLibs目录与java、res在相同目录下。若没有相应的目录就自己创建。整个结构如下图:

3.2 添加语音合成资源文件

将开发包中的 data 目录下的 dat 文件放到工程的assets目录下,assets目录与java、res在同一目录下,以便设置资源文件参数时使用。

3.3 权限声明

使用百度语音需要声明以下权限:

<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.WRITE_SETTINGS" />
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />

4、语音合成功能代码

4、1 Tts初始化

//获取 tts 实例 
speechSynthesizer = SpeechSynthesizer.getInstance(); 
//设置 app 上下文(必需参数) 
speechSynthesizer.setContext(Context); 
//设置 tts 监听器 
speechSynthesizer.setSpeechSynthesizerListener(SpeechSynthesizerListener);

//文本模型文件路径,文件的绝对路径  (离线引擎使用) 
speechSynthesizer.setParam(SpeechSynthesizer.PARAM_TTS_TEXT_MODEL_FILE, 
TEXT_MODEL_FILE_FULL_PATH_NAME); 

//声学模型文件路径,文件的绝对路径  (离线引擎使用) 
speechSynthesizer.setParam(SpeechSynthesizer.PARAM_TTS_SPEECH_MODEL_FILE, 
SPEECH_MODEL_FILE_FULL_PATH_NAME); 

//  本 地 授 权 文 件 路 径 , 如 未 设 置 将 使 用 默 认 路 径 . 设 置 临 时 授 权 文 件 路 径 ,
//LICENCE_FILE_NAME 请替换成临时授权文件的实际路径,仅在使用临时 license 文件时需要进行设置,
//如果在[应用管理]中开通了离线授权,不需要设置该参数,建议将该行代码删除(离线引擎) 
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值