#ifndef __SOUNDCARDDATA_H__ #define __SOUNDCARDDATA_H__ #include "GlobalVariable.h" #include "AudioRecord.h" #include "spdlog/spdlog.h" /** * @brief 全局的声卡信息 * */ #define SoundCards SoundCardManager::Instance() class SoundCardManager { SoundCardManager() = default; SoundCardManager(const SoundCardManager&) = delete; SoundCardManager& operator=(const SoundCardManager&) = delete; public: ~SoundCardManager() = default; static SoundCardManager& Instance() { static SoundCardManager instance; return instance; } /* 初始化数据,获取声卡信息 */ bool InitData(); /* 获取声卡信息 */ const std::list& getListAudioDevice() const { return m_listAudioDevice; } /* 获取声卡信息,转换成系统使用的数据类型 */ QMap getSoundCardInfo() const; private: /* 打印声卡列表 */ void printAudioDevices(); /* 打印声卡描述列表 */ void printAudioDeviceDesc(std::list& pcmDevices); /* 声卡信息写入数据库 */ void writeAudioDeviceToDB(); private: /* 声卡设备列表 */ std::list m_listAudioDevice; }; #endif // __SOUNDCARDDATA_H__