#ifndef YvVoiceManager_hpp #define YvVoiceManager_hpp #include #include "cocos2d.h" #include "yvListern.h" #include "YVTool.h" class YvVoiceManager: public YVSDK::YVListern::YVLoginListern, public YVSDK::YVListern::YVReConnectListern, public YVSDK::YVListern::YVStopRecordListern, public YVSDK::YVListern::YVFinishSpeechListern, public YVSDK::YVListern::YVFinishPlayListern, public YVSDK::YVListern::YVUpLoadFileListern, public YVSDK::YVListern::YVDownLoadFileListern, public YVSDK::YVListern::YVRecordVoiceListern, public YVSDK::YVListern::YVCPUserInfoListern, public YVSDK::YVListern::YVDownloadVoiceListern { public: static YvVoiceManager* GetInstance(); void Init(); void Cleanup(); void CpLogin(std::string nickName, std::string uuid); virtual void onLoginListern(YVSDK::CPLoginResponce*); void StartRecord(); virtual void onRecordVoiceListern(YVSDK::RecordVoiceNotify*); void StopRecord(); virtual void onStopRecordListern(YVSDK::RecordStopNotify*); void PlayRecord(std::string url); virtual void onDownLoadFileListern(YVSDK::DownLoadFileRespond*); virtual void onFinishPlayListern(YVSDK::StartPlayVoiceRespond*); //云播放时下载进度事件 virtual void onDownloadVoiceListern(YVSDK::DownloadVoiceRespond*); void UploadFile(std::string fileName); virtual void onUpLoadFileListern(YVSDK::UpLoadFileRespond*); virtual void onFinishSpeechListern(YVSDK::SpeechStopRespond*); virtual void onCPUserInfoListern(YVSDK::GetCPUserInfoRespond*); virtual void onReConnectListern(YVSDK::ReconnectionNotify*); public: void setUploadListern(YVSDK::YVListern::YVUpLoadFileListern * listern) { uploadListen = listern; } void setPlayFinishFunc(const std::function& fnHander) { onPlayFinishFunc = fnHander; } bool isPlaying; private: YVSDK::YVTool* pYVTool; YVSDK::YVListern::YVUpLoadFileListern * uploadListen; std::function onPlayFinishFunc; }; #endif /* YvVoiceManager_hpp */