集成百度語音合成的一些問題

最近項目要用到語音合成(TTS)的功能,目前國內只有兩家:科大訊飛:科大訊飛開發者平臺  和 百度:百度語音 。科大訊飛支持完全離線,但是需要付費(成本高),又因爲百度雖然目前沒有開放純離線模式下的語音合成SDK,但是開放了離在線融合語音合成SDK,會自動判斷當前網絡環境,自動匹配使用離線還是在線合成引擎。簡言之,就是根據網絡的不同狀態,實現離線條件下的語音合成。有了這個,何必去用科大的付費呢。這裏順便吐槽一下科大訊飛的官方demo,只能說:沒有最渣,只有更渣,首先我們從人家還在堅持用Eclipse寫的demo就可見一斑,那李志(逼格)也是沒誰了。廢話到此爲止。如果想使用Android Studio版本的demo,可以看這裏:科大訊飛android版本demo


關於使用百度語音所遇到的問題:運行官方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.然後就沒有然後啦....

歡迎指教,如果有什麼問題,大家可以評論和我交流...




發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章