首页 > 代码库 > 开源一个语音框架vchat
开源一个语音框架vchat
之前在冰冻做战斗内语音聊天,当时为了进度移植了voicechat,不过从代码质量上,voicechat设计的并不好,尤其是作为一个通用的聊天框架,并不易用。现在总算有空重写一套新的语音聊天库。
在接口上,提供了devices用于遍历设备。
class devices{public:static std::vector<const PaDeviceInfo*> getInputDevices();static std::vector<const PaDeviceInfo*> getOutputDevices();};
提供了sound用于音频设定
class sound{public: sound(); ~sound(); void start(); void stop(); void th_func(); boost::signals2::signal<void(char *, int)> sigCapture; bool setOutputDevice(PaDeviceIndex index); bool setInputDevice(PaDeviceIndex index); void setsoundsize(); void setechostate(bool on);private: static int inputcallback(const void *input, void *output, unsigned long frameCount, const PaStreamCallbackTimeInfo *timeInfo, PaStreamCallbackFlags statusFlags, void *userData); static int outputcallback(const void *input, void *output, unsigned long frameCount, const PaStreamCallbackTimeInfo *timeInfo, PaStreamCallbackFlags statusFlags, void *userData);private: };
提供了client用于管理多人聊天
client * create_client(int index = 0);client * get_client(int index);typedef void(*handle_iterator_client)(std::map<int, client*> & set);void iterator_client_set(handle_iterator_client fn);void iterator_client_set(std::function<void(std::map<int, client*> &) > fn);bool destroy_client(int index);int client_count();
client提供了write_buff和read_buff对缓冲区做操作。
相对而言,接口要比voicechat清晰很多。
代码地址:https://github.com/qianqians/vchat.git
开源一个语音框架vchat
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。