当前位置: 首页 > 工具软件 > TeamTalk5 > 使用案例 >

TeamTalk AudioModel详解

厉熠彤
2023-12-01

1. 简介

语音模块用于语音消息的存取。

2. 类与接口

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来上传文件,若上传成功则录入

3. test_audiomodel.cpp说明

看了下teamtalk win_client客户端代码是不支持语音功能的,该功能应该用于移动端,后续看有没有机会调试到语音吧
该用例伪造了语音文件上传时ngnix报405错误,后续再解决吧

4. 源码

链接:TeamTalk_BlueBling
测试demo:tests/test_audiomodel.cpp

 类似资料: