// #pragma once //#define SDK_DLL_API __declspec(dllimport) #include //#include "include/macros.h" //#include "include/parameter.h" //#include "include/param_decl.h" //#include "include/service.h" //#include "include/speech_sds.h" //#include "include/wav_utils.h" #include "sds/interface/speech_sds.h" #include "sds/interface/parameter.h" #include "sds/interface/param_decl.h" #include "sds/interface/service.h" //方便外面引用统一的头文件 #include "online_tts_api.h" #ifndef LX_DLL_CLASS_EXPORTS #define CPP_DLL_API __declspec(dllexport) #else #define CPP_DLL_API __declspec(dllimport) #endif //#define CPP_DLL_API __declspec(dllexport) //extern "C" CPP_DLL_API int Add(int a, int b); typedef void(*WriteMessageType)(int number); typedef void(*ResultCallbackType)(int code, const char * type, const char * info ); namespace mobvoi { namespace sds { CPP_DLL_API void SetSdkLogOn(bool on); CPP_DLL_API void SetSdkConfigPath(std::string path); class CPP_DLL_API OnlineRecognizerHelper { public: OnlineRecognizerHelper(); ~OnlineRecognizerHelper(); void setRecognitionParams(int startSilence, int endSilence, bool enablePartial, bool enableVolume); void setContext(std::string perfectStr, std::string partialStr ); bool startRecognition(); bool startRecognition(void* Function); bool stopRecognition(bool immediate); bool InvokeStopService(); bool InvokeCancelService(); void callCSharp(int code, const char * type, const char * info); // int Add(int a, int b); void WriteMessage(int number , void* Function); class RecognizerCallBack; private: bool Run(int argc, char* argv[]); const std::string& GetType() const; void SetType(const std::string& type); bool ParseCmdArgs(int argc, char* argv[]); bool InitEnv(); bool GetService(); bool InvokeService(); bool ReleaseService(); bool ReleaseEnv(); bool InvokeSetParamService(); bool InvokeStartService(); bool InvokeFeedSpeech(); void ShowUsage(const std::string& exe); void Notify(); private: std::string base_dir_; Service* service_; std::vector waves_; std::string service_type_; bool stop_; int startSilence_; int endSilence_; bool enablePartial_; bool enableVolume_; pthread_mutex_t mutex_; pthread_cond_t cond_; SpeechSDS* sds_; std::string mode_; std::vector partial_keywords_; std::vector perfect_keywords_; RecognizerCallBack * pCallback; ResultCallbackType cSharpCallback; }; } }