最近在寫一個(gè)藍(lán)牙應(yīng)用的應(yīng)用Demo,作為樣板給客戶看。老板要求該應(yīng)用能讀出特定的文字媒咳。
然后呢我就去集成訊飛的語音合成,看了一下文檔只有一小段种远,好像很簡單的樣子涩澡。如下:
2017-07-12_001729.png
按照文檔一步一步來,全部設(shè)置完成之后一運(yùn)行給我報(bào)了個(gè)空指針:
//初始化合成對(duì)象
mTts = SpeechSynthesizer.createSynthesizer(this, myInitListener);
就這行代碼返回的SpeechSynthesizer對(duì)象是null坠敷,檢查了好幾遍妙同,都木有錯(cuò)啊。官方示例里面的代碼也看了膝迎,真找不出來哪里錯(cuò)了粥帚。網(wǎng)上也沒有相關(guān)的錯(cuò)誤和解決方法。沒招了限次,把引用的JDK一個(gè)一個(gè)點(diǎn)開看芒涡,猛然發(fā)現(xiàn)了libs文件中的so庫。我勒個(gè)去卖漫,在libs中的jar包是可以直接在項(xiàng)目中使用的拖陆,但是so庫不可用。然后呢在app目錄中的build.gradle文件中
android節(jié)點(diǎn)下 添加了如下代碼:
sourceSets {
main {
jniLibs.srcDirs = ['libs']
}
}
2017-07-12_002838.png
然后就好了懊亡,淚奔中依啰。。店枣。沒注意到這個(gè)問題速警,浪費(fèi)了好幾個(gè)小時(shí)。