语音模块用于语音消息的存取。
m_pInstance:单例句柄
m_strFileSite:语音文件路径
static CAudioModel* getInstance():创建单例
void setUrl(string& strFileUrl):设置语音文件路径,若不是以反斜杠结尾则添加反斜杠结尾
bool readAudios(list<IM::BaseDefine::MsgInfo>& lsMsg):读取语音信息,从mysql IMAudio里查询语音时长、大小和url等信息,再调用readAudioContent读取语音具体内容;readAudioContent调用CHttpClient的DownloadByteFile通过curl下载语音文件来获取具体的音频数据
int saveAudioInfo(uint32_t nFromId, uint32_t nToId, uint32_t nCreateTime, const char* pAudioData, uint32_t nAudioLen):上传音频文件并向mysql录入该语音信息;saveAudioInfo调用了CHttpClient的UploadByteFile接口使用curl来上传文件,若上传成功则录入
看了下teamtalk win_client客户端代码是不支持语音功能的,该功能应该用于移动端,后续看有没有机会调试到语音吧
该用例伪造了语音文件上传时ngnix报405错误,后续再解决吧
链接:TeamTalk_BlueBling
测试demo:tests/test_audiomodel.cpp