SoundCardData.cpp 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. #include "SoundCardData.h"
  2. SoundCardDataManager::~SoundCardDataManager()
  3. {
  4. m_listSoundCard.clear();
  5. }
  6. /* 初始化声卡列表 */
  7. void SoundCardDataManager::initSoundCardList(QList<SoundCardInfo_t>& listSoundCard)
  8. {
  9. m_listSoundCard.clear();
  10. m_listSoundCard = listSoundCard;
  11. for(const auto& soundCard : m_listSoundCard)
  12. {
  13. SoundCardRoadInfo_t roadInfo;
  14. roadInfo.nSoundCardNum = soundCard.nSoundCardNum;
  15. roadInfo.strSoundCardID = soundCard.strSoundCardID;
  16. roadInfo.strSoundCardName = soundCard.strSoundCardName;
  17. for(const auto& road : soundCard.listRoad)
  18. {
  19. roadInfo.roadInfo = road; // 直接使用通道信息
  20. m_listSoundCardRoad.append(roadInfo);
  21. }
  22. }
  23. }
  24. /* 根据声卡编号和录音通道编号获取声卡信息 */
  25. SoundCardRoadInfo_t SoundCardDataManager::getSoundCardRoadInfo(int nSoundCardNum, int nChannelID)
  26. {
  27. for(const auto& soundCard : m_listSoundCardRoad)
  28. {
  29. if(soundCard.nSoundCardNum == nSoundCardNum && soundCard.roadInfo.nChannelID == nChannelID)
  30. {
  31. return soundCard; // 找到匹配的声卡和通道信息
  32. }
  33. }
  34. SoundCardRoadInfo_t emptyInfo;
  35. emptyInfo.nSoundCardNum = -1; // 未找到时返回无效信息
  36. emptyInfo.strSoundCardID = "";
  37. emptyInfo.strSoundCardName = "";
  38. emptyInfo.roadInfo.nRoadNum = -1;
  39. return emptyInfo;
  40. }
  41. /* 获取带有声卡信息的通道列表 */
  42. const QList<SoundCardRoadInfo_t>& SoundCardDataManager::getSoundCardRoadList() const
  43. {
  44. return m_listSoundCardRoad;
  45. }