科大訊飛sdk語音合成工具類


 
        

注:主要是dll文件的配置

A:Java SDK 使用了 JNI 形式,在初始化 SDK 時,SDK 將加載共享庫(Windows下為msc32.dll或msc64.dll文件,Linux下libmsc32.so或libmsc64.so文件),報錯是因為系統找不到共享庫。
一般來說,在 Windows 下,系統加載共享庫時的優先級將按以下的順序:
1,應用的當前運行目錄;
2,由系統環境參數 Path 指定的目錄;
3,System32 目錄;(已實現可行)
而在Linux下,系統加載共享庫時的優先級將按以下順序:
1,LD_LIBRARY_PATH指定的目錄;
2,/usr/lib/ 或 /lib64/ 目錄;(實現可行,但是放置后執行ldd再執行ldconfig命令)
根據上面:
在Windows下,把 dll 文件,放在應用的當前運行目錄(一般為應用所在的目錄),或在 Path 把 dll 所在目錄加入此環境參數中,或者把dll復制到 System32 目錄(不建議);
在Linux下,則把 .so 所在目錄,通過 export 加入  LD_LIBRARY_PATH  中(在Terminal或在“.bashrc”等啟動時會加載的腳本中),或把 .so 文件復制到 lib 文件夾中(不建議);(另外,確保linux的glibc版本為2.11以上;可以執行命令 ldd  libmsc32.so <如64位系統,則命令為 ldd libmsc64.so>,如果有執行結果有`GLIBC_2.11' not found,則需要把 glibc 版本升級到2.11版
一般來說,web項目的當前運行目錄,並不項目的根目錄,而是由tomcat等 server 指定的目錄。所以具體當前運行目錄應視 server 而定——即使在 windows 下,也不能把dll文件簡單的放在項目根目錄下就完事。同時,根據 server 把庫文件配置好后,應重啟 WebServer 才會生效。
另外,在 Linux 下 eclipse 調試時,可能通過Terminal 來 export  LD_LIBRARY_PATH   並不起作用,此時,因為運行的調試環境不在 Terminal 中,需要在項目屬性中,設置調試和運行的環境參數,在其中,增加  LD_LIBRARY_PATH  ,並指定 so 文件所在的目錄,如下圖為指定 so 所在目錄為當前運行的目錄:



免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM