123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990 |
- #include "SoundCardData.h"
- SoundCardDataManager::~SoundCardDataManager()
- {
- }
- /* 设置声卡列表 */
- void SoundCardDataManager::setSoundCardInfo(QMap<int, SoundCardInfo_t>& soundInfo)
- {
- m_mapSoundCardInfo.clear();
- m_mapSoundCardInfo = soundInfo;
- }
- /* 获取单个声卡信息 */
- SoundCardInfo_t SoundCardDataManager::getOneSoundCardInfo(int nSoundCardNum) const
- {
- auto it = m_mapSoundCardInfo.find(nSoundCardNum);
- if(it != m_mapSoundCardInfo.end())
- {
- return it.value(); // 返回找到的声卡信息
- }
- SoundCardInfo_t emptyInfo;
- emptyInfo.nSoundCardNum = -1; // 未找到时返回无效信息
- emptyInfo.strSoundCardID = "";
- emptyInfo.strSoundCardName = "";
- return emptyInfo;
- }
- /* 设置当前声卡 */
- bool SoundCardDataManager::setCurrentSoundCard(int nSoundCardNum)
- {
- auto it = m_mapSoundCardInfo.find(nSoundCardNum);
- if(it == m_mapSoundCardInfo.end())
- {
- return false;
- }
- m_currentSoundCardInfo = it.value(); // 设置当前声卡信息
- m_listSoundCardRoad.clear(); // 清空现有的通道列表
- const SoundCardInfo_t& soundCardInfo = it.value();
- for(const auto& road : soundCardInfo.listRoad)
- {
- SoundCardRoadInfo_t roadInfo;
- roadInfo.nSoundCardNum = soundCardInfo.nSoundCardNum;
- roadInfo.strSoundCardID = soundCardInfo.strSoundCardID;
- roadInfo.strSoundCardName = soundCardInfo.strSoundCardName;
- roadInfo.roadInfo = road; // 设置通道信息
- m_listSoundCardRoad.append(roadInfo); // 添加到列表中
- }
- return true;
- }
- /* 根据声卡编号和录音通道编号获取声卡信息 */
- SoundCardRoadInfo_t SoundCardDataManager::getSoundCardRoadInfo(int nSoundCardNum, int nChannelID)
- {
- for(const auto& soundCard : m_mapSoundCardInfo)
- {
- if(nSoundCardNum == soundCard.nSoundCardNum)
- {
- for(const auto& road : soundCard.listRoad)
- {
- if(road.nRoadNum == nChannelID)
- {
- SoundCardRoadInfo_t roadInfo;
- roadInfo.nSoundCardNum = soundCard.nSoundCardNum;
- roadInfo.strSoundCardID = soundCard.strSoundCardID;
- roadInfo.strSoundCardName = soundCard.strSoundCardName;
- roadInfo.roadInfo = road; // 设置通道信息
- return roadInfo; // 返回找到的声卡通道信息
- }
- }
- }
- }
- SoundCardRoadInfo_t emptyInfo;
- emptyInfo.nSoundCardNum = -1; // 未找到时返回无效信息
- emptyInfo.strSoundCardID = "";
- emptyInfo.strSoundCardName = "";
- emptyInfo.roadInfo.nRoadNum = -1;
- return emptyInfo;
- }
- /* 获取带有声卡信息的通道列表 */
- const QList<SoundCardRoadInfo_t>& SoundCardDataManager::getCurrSoundCardRoadList() const
- {
- return m_listSoundCardRoad;
- }
|