Android 百度语音合成手把手教学

前期准备

申请 key 和创建应用的步骤这里不再赘述,可以参考:在线合成Android-SDK介绍 官方文档

运行官方demo

1、下载 在线语音合成Android SDK

离线语音合成SDK只能免费使用 在线合成功能,纯离线和在线离线混合模式是需要收费的。所以我们直接使用 在线语音合成。

2、修改官方 demo 运行

打开 main/assets/auth.properties填入自己 appId、appKey、secretKey、applicationId。

修改 app/build.gradle中的 applicationId,改为自己的包名。

如果运行不了需要根据报错修改,可能需要修改:
1、local.properties 文件中
删掉 的 ndk.dir
修改 sdk.dir
2、修改 gradle-wrapper.properties 中 gradle 版本 和 整个项目的 build.gradle 的 gradle tools 版本,改成和自己项目相同的版本

整个项目的 build.gradle 的 repositories 改为和自己项目相同的仓库

运行程序,我们测试纯在线语音合成:
在这里插入图片描述

自己项目中集成

1、将官方 demo 中的 libs 文件夹下的 jar 包放入自己 libs 目录下
确保 build.gradle 中对这个 jar 包进行了引用

可以引入libs下所有的 jar

implementation fileTree(include: ['*.jar'], dir: 'libs')

或单独引入这个 jar

implementation files("libs/com.baidu.tts_2.6.2.2.20200629_44818d4.jar")

2、将 jinLibs中自己用到的架构文件复制到自己相应的文件夹中
在这里插入图片描述
例如我的 build.gradle 文件中只指定了两个 abi,我就只需要复制两个文件夹即可:
在这里插入图片描述
3、AndroidManifest.xml 中增加权限

	<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.ACCESS_WIFI_STATE" />
    <uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />

4、按照官方 demo 中的 MySyntherizer 进行修改,改为符合自己业务需求的工具类
例如我的项目中有一个试听音效的功能,我就把 MySyntherizer 复制过来增加了一个播放状态speakStatus 字段,实现了 SpeechSynthesizerListener 的方法,在播放开始和结束时改变这个字段,以便在用户重复点击播放按钮的时候进行判断,如果在播放中则提示用户“播放中,请等待试听结束”。

同学们使用时需要将类中的 BD_APP_KEY 、BD_APP_SECRET_KEY 、BD_APP_ID 改为自己申请的值。

/**
 * 该类是对SpeechSynthesizer的封装
 * 百度语音在线合成 工具类
 */

public class MySyntherizer implements SpeechSynthesizerListener {
   

    protected SpeechSynthesizer mSpeechSynthesizer;
    protected Context context;

    private static final String TAG = "MySyntherizer";
    private static volatile MySyntherizer instance = null;
    /**
     * 当前播放状态 0 未播放 或播放已结束 1 播放中
     */
    private int speakStatus = 0;

    //修改为自己的 appId、appKey、secretKey
    private static final String BD_APP_KEY 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值