最近項目要用到語音合成(TTS)的功能,目前國內只有兩家:科大訊飛:科大訊飛開發者平臺 和 百度:百度語音 。科大訊飛支持完全離線,但是需要付費(成本高),又因爲百度雖然目前沒有開放純離線模式下的語音合成SDK,但是開放了離在線融合語音合成SDK,會自動判斷當前網絡環境,自動匹配使用離線還是在線合成引擎。簡言之,就是根據網絡的不同狀態,實現離線條件下的語音合成。有了這個,何必去用科大的付費呢。這裏順便吐槽一下科大訊飛的官方demo,只能說:沒有最渣,只有更渣,首先我們從人家還在堅持用Eclipse寫的demo就可見一斑,那李志(逼格)也是沒誰了。廢話到此爲止。如果想使用Android Studio版本的demo,可以看這裏:科大訊飛android版本demo
error (-102) offline engine download license failure [(-5) appcode=8516840-licensePath=/data/data/com.baidu.tts.sample/files/baidu-tts_license]-utteranceld= 0
即:-102 離線授權下載License失敗。具體可以參看官方的 錯誤碼說明 。
看到這個問題,我們一般都會去 問答社區 尋找答案。在這裏我對(errcode:-102)這個問題的解決總結如下:
首先分析可能產生該問題的原因:
1.appid 和apikey填寫錯誤
2.包名綁定包名填寫錯誤
3.設置的授權文件下載路徑沒有權限,或者應用沒有被授權讀寫權限
4.第一次使用時需要聯網操作,或者連接的網絡不夠穩定。
從接入指南我們可以知道,apikey 和 secretkey 是用於 在線語音合成的,如果在線語音正常,則說明這裏沒有什麼問題。appid是用於離線語音合成的,
那就檢查一下appid,確認無誤後,然後看一下配置文件AndroidManifest.xml 所需要的權限是否添加,接着就去看一下開發者平臺,你所創建的應用的管理包名是否填寫,
且與配置文件的是否一致。最後在第一次使用時,一定要確認聯網。完成上述步驟,即可避免或者解決-102問題。
最後來理一下正確的接入流程:
1.創建應用;
2.然後new project 或者 直接 import project 官方的demo,然後看着 接入指南 將所需要的權限先添加進去;
3.查看你創建的應用的appid等信息,並修改對應的參數信息;
點擊“查看key”:
4.將你的項目的包名提交給開發者平臺;
5.確認網絡良好,然後.....
6.然後就沒有然後啦....
歡迎指教,如果有什麼問題,大家可以評論和我交流...