让你的App有声音

作者: 山水相逢z | 来源:发表于2017-04-11 14:00 被阅读379次

之前写过一篇文章,当时的需求是播放英文,最后使用的是Androi自带的TextToSpeech类来实现(http://blog.csdn.net/weixin_38251977/article/details/69944088),虽然播放英文效果还行,但是对中文的支持不是很好。最近新项目中又遇到一个语音的需求,这次是中英文都有,各种对比之后,选择了百度语音离在线融合SDK,播放效果非常好,关键是免费。趁着有空,记录下集成步骤,抽成一个demo,下次有需要的时候可以直接套用。
一 前提步骤
首先,需要在百度语音官网注册一个账号,然后创建应用,创建一个应用的大致步骤如下图:

Paste_Image.png

注册完应用后,根据我们给的包名,会生成对应的appid,apikey和secretkey,这几个参数在我们代码中会使用到。
二 代码集成
1.拷贝资源文件
在上边儿注册应用的时候,我们已经把SDK下载下来了,在里边儿我们找到需要的jar包,so文件以及语音模型拷贝到我们的项目中,各资源文件对应目录如下:

Paste_Image.png

因为我的项目中只有armeabi架构,所以只拷贝了对应的资源,这个需要根据实际情况添加。

2.配置build文件
将jar包等拷贝到项目中后,还需要配置工程目录下的build.gradle文件以添加依赖。
首先,在android闭包中添加:

android {

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

这样Android Studio就能识别我们放在libs文件夹下的so文件了,不然的话运行的时候会报找不到so文件的错误。
然后,在dependencies闭包中添加:

compile files('libs/com.baidu.tts_2.3.0.jar')

到这里我们可以同步一下项目了,然后就可以在代码中使用jar包提供的方法了。

3.添加权限
在清单文件中声明所需的权限:

<uses-permission android:name="android.permission.INTERNET" />

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

4.demo
关于具体的使用方法,这里抽成了一个demo,代码我已经测试过了,运行没有问题(demo里只支持armeabi框架,你可以将官方sdk的所有架构对应的so文件都拷贝进去),代码址:https://github.com/SolveBugs/BaiduTTSDemo

相关文章

  • 让你的App有声音

    之前写过一篇文章,当时的需求是播放英文,最后使用的是Androi自带的TextToSpeech类来实现(http:...

  • iOS音频音效设置框架AVFoundation框架

    在制作APP的时候很多时候都会用到声音输出,毕竟一款有声音的APP才让人感到有生命,有活力,没有声音的话,整个AP...

  • APP推荐:潮汐

    这是一款有想法、有内涵的app。对于深处闹市的我们,可以听着大自然的声音,静静入眠,或者在心烦意乱之时,让你...

  • 文学空间第七十七期同题作业《听,那动听的声音》精彩荟萃

    有一种声音,很美妙,让你听了心旷神怡。 有一种声音,很动听,让你忘却是非。 有一种声音,像春风,吹拂你那受伤的心理...

  • 你的声音让我有了勇气

    外面阴雨天,妈妈并没有带我出去玩,只是去给我买了奶粉,外面天太冷了,妈妈把我裹得就剩眼睛了。(很有可能也只是妈妈觉...

  • 文学空间第六十六期同题作业

    文学空间第六十六期同题作业《听,那动听的声音》 有一种声音,很美妙,让你听了心旷神怡。 有一种声音,很动听,让你忘...

  • 高德地图导航组件没有导航语音声音

    内嵌高德地图导航组件时,导航没有声音(首次启动app没有导航声音,再次启动app有导航声音) 方式一(排查过程) ...

  • 让你的声音更美

    每天清晨,在彩虹花和阅汇的晨读课上,都能听到时朝莉老师甜美的声音。大家都很羡慕:时老师的声音太好听了! 其实,你的...

  • 让你的声音流动

    声音的流动是具有双向性的,我们在表达时希望得到别人的回应,同时对方的反馈也希望我们知道,回应不可以敷衍,是或者不是...

  • 让你的声音流动

    生活与工作中,要注意自己的表达方式。渴望别人对你有所回应,就需要自己首先回应对方,不仅仅是用枯燥无力的“哦...

网友评论

    本文标题:让你的App有声音

    本文链接:https://www.haomeiwen.com/subject/hjiyattx.html