发讯飞语音集成踩坑实录

最近在写一个蓝牙应用的应用Demo,作为样板给客户看。老板要求该应用能读出特定的文字。
然后呢我就去集成讯飞的语音合成,看了一下文档只有一小段,好像很简单的样子。如下:

发讯飞语音集成踩坑实录_第1张图片
2017-07-12_001729.png

按照文档一步一步来,全部设置完成之后一运行给我报了个空指针:

//初始化合成对象
mTts = SpeechSynthesizer.createSynthesizer(this, myInitListener);
就这行代码返回的SpeechSynthesizer对象是null,检查了好几遍,都木有错啊。官方示例里面的代码也看了,真找不出来哪里错了。网上也没有相关的错误和解决方法。没招了,把引用的JDK一个一个点开看,猛然发现了libs文件中的so库。我勒个去,在libs中的jar包是可以直接在项目中使用的,但是so库不可用。然后呢在app目录中的build.gradle文件中
android节点下 添加了如下代码:
sourceSets {
main {
jniLibs.srcDirs = ['libs']
}
}

发讯飞语音集成踩坑实录_第2张图片
2017-07-12_002838.png

然后就好了,泪奔中。。。没注意到这个问题,浪费了好几个小时。

你可能感兴趣的:(发讯飞语音集成踩坑实录)