100字范文,内容丰富有趣,生活中的好帮手!
100字范文 > java可以调用tts接口_使用微信语音合成接口(TTS)

java可以调用tts接口_使用微信语音合成接口(TTS)

时间:2019-07-25 04:26:15

相关推荐

java可以调用tts接口_使用微信语音合成接口(TTS)

-04-19 遇到的一点小问题

APP的收款功能,需要语音播报收到的个别推送消息。听说这个叫TTS(TextToSpeech)。

网上看了一下安卓自带的android.speech.tts.TextToSpeech,试了试,很麻烦,会弹出选择对话框,而且米2S试了下,返回SUCCESS,但就是没声音。。。

TTS选择对话框

那就换一下专业的,看了下讯飞开放平台。功能很丰富,有很多发音人可选择。可惜离线是收费的,只有在线是免费得,担心有影响,算了。

正好应用里微信的功能用得不少,就上微信开放平台看一下。下载了测试apk竟然闪退,原来他的libs里面armeabi-v7a文件夹里竟没有libWXVoice.so文件。没办法,只能删掉其他,只保留armeabi文件夹和里面的libWXVoice.so文件

微信TTS的libs.

看了下文档,没发现mid-sdk-2.10.jar和mta-sdk-2.0.2.jar有啥用,就给删掉了,没想到一删就报错。真坑,文档不写一下。

java.lang.NoClassDefFoundError: Failed resolution of: Lcom/tencent/stat/StatSpecifyReportedInfo;

...

Caused by: java.lang.ClassNotFoundException: Didn't find class "com.tencent.stat.StatSpecifyReportedInfo" on path: DexPathList[[zip file "/data/app/com.wannoo.test-2/base.apk"],nativeLibraryDirectories=[/data/app/com.wannoo.test-2/lib/arm, /vendor/lib, /system/lib]]

...

Caused by: java.lang.NoClassDefFoundError: Class not found using the boot class loader; no stack available

微信TTS报错

好吧,测试正常了,试一下效果。

和demo里的操作一样,没什么要特别注意的。除了使用SpeechSynthesizer.shareInstance().start(str)时,返回的int可能等于9,这是因为微信开放平台AppID写错或包名签名不对。这个文档没写,要注意。

刚关掉网络试了一下,没有网络会返回-100。又去看了文档,才发现这个微信也是需要网络的。。。汗!换讯飞试试看

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。