安卓集成百度语音

百度语音集成

一点小意外

在Android Studio中,默认匹配main下的jniLibs目录,如果没有目录需要自己手动创建。并且库的名称也不能随便更改。

但是这里会有一个问题,就是如果使用的是AndroidStudio,但是想用libs下的库,还需要手动去指定库的位置:

在App下的build.gradle中加入以下配置。

android {
    sourceSets {
        main {
            jniLibs.srcDirs = ['libs']
        }
    }
}

之前在应用中用到了这一配置,但是在集成百度的sdk的时候忘记了,结果在jinLibs复制过来之后不起作用,浪费了不少时间。。

简介

应用中需要增加部分情况下的语音提示,找了一下,发现百度的语音合成已经是永久免费不限调用次数了。tts选择使用。
直接贴官网链接
http://ai.baidu.com/docs#/TTS-Android-SDK/top

项目集成百度语音SDK

1.复制assets目录
2.复制jinLibs目录
3.复制com.baidu.tts_2.3.1.20170808_e39ea89.jar到libs目录
4.配置Gradle,添加 implementation files('libs/com.baidu.tts_2.3.2.20180713_6101c2a.jar')
5.proguard-rules.txt 增加

-keep class com.baidu.tts.**{*;}
-keep class com.baidu.speechsynthesizer.**{*;}

6.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.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" />

7.复制官方demo中control和listener及util三个文件夹下的内容
8.在需要调用的activity中模仿SynthActivity中配置好自己的appId等内容和初始化内容
在实际调用处,调用speak即可

此处评论已关闭