1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798 |
- #include "SoundCardData.h"
- /* 初始化数据,获取声卡信息 */
- bool SoundCardManager::InitData()
- {
- /* 获取可用的声卡列表 */
- if(AudioDevice::getAudioDevices(m_listAudioDevice))
- {
- SPDLOG_INFO("成功获取到声卡设备信息");
- } else
- {
- SPDLOG_ERROR("获取声卡设备信息失败");
- }
- /* 打印声卡列表 */
- printAudioDevices();
- SPDLOG_INFO("----------------------------------------------------------------------------");
- // /* 获取并打印另一种声卡信息 */
- // std::list<AudioDeviceDesc_t> pcmDevices;
- // if(getPCMAudioDevice(pcmDevices))
- // {
- // SPDLOG_INFO("成功获取到PCM设备信息");
- // printAudioDeviceDesc(pcmDevices);
- // } else
- // {
- // SPDLOG_ERROR("获取PCM设备信息失败");
- // }
- return true;
- }
- /* 获取声卡信息,转换成系统使用的数据类型 */
- QMap<int, SoundCardInfo_t> SoundCardManager::getSoundCardInfo() const
- {
- QMap<int, SoundCardInfo_t> soundCardInfoMap;
- for(const auto& device : m_listAudioDevice)
- {
- SoundCardInfo_t soundCardInfo;
- soundCardInfo.nSoundCardNum = device.CardNumber;
- soundCardInfo.strSoundCardID = QString::fromStdString(device.CardID);
- soundCardInfo.strSoundCardName = QString::fromStdString(device.CardName);
- soundCardInfo.strSoundCardDriver = QString::fromStdString(device.CardDriver);
- for(const auto& pcmDevice : device.PCMDevices)
- {
- OneRoadInfo_t roadInfo;
- roadInfo.nRoadNum = pcmDevice.PCMDevice;
- soundCardInfo.listRoad.append(roadInfo);
- }
- soundCardInfoMap.insert(soundCardInfo.nSoundCardNum, soundCardInfo);
- }
- return soundCardInfoMap;
- }
- /* 打印声卡列表 */
- void SoundCardManager::printAudioDevices()
- {
- for(const auto& device : m_listAudioDevice)
- {
- SPDLOG_INFO("声卡编号: {}, ID: {}, 名称: {}, 驱动: {}, 长名称: {}, 混音器名称: {}, 组件信息: {}",
- device.CardNumber, device.CardID, device.CardName, device.CardDriver,
- device.CardLongName, device.CardMixername, device.CardComponents);
- for(const auto& pcmDevice : device.PCMDevices)
- {
- SPDLOG_INFO(" PCM设备编号: {}, 子设备编号: {}, 声卡编号: {}, PCM ID: {}, 名称: {}, 子设备名称: {}",
- pcmDevice.PCMDevice, pcmDevice.SubDevice, pcmDevice.CardNumber,
- pcmDevice.PCMID, pcmDevice.PCMName, pcmDevice.PCMSubName);
- }
- }
- }
- /* 打印声卡描述列表 */
- void SoundCardManager::printAudioDeviceDesc(std::list<AudioDeviceDesc_t>& pcmDevices)
- {
- for(const auto& device : pcmDevices)
- {
- SPDLOG_INFO("设备名称: {}, 描述: {}, IOID: {}, 声卡: {}, 设备编号: {}",
- device.DeviceName, device.DeviceDesc, device.IOID,
- device.Card, device.DevNum);
- }
- }
- /* 声卡信息写入数据库 */
- void SoundCardManager::writeAudioDeviceToDB()
- {
- }
|