mirror of
https://github.com/overte-org/overte.git
synced 2025-08-06 19:59:28 +02:00
add support for getting the actual default audio devices in windows by name
This commit is contained in:
parent
411ebf805a
commit
11c089c221
1 changed files with 22 additions and 0 deletions
|
@ -143,6 +143,28 @@ QAudioDeviceInfo defaultAudioDeviceForMode(QAudio::Mode mode) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
#ifdef WIN32
|
||||||
|
QString deviceName;
|
||||||
|
if (mode == QAudio::AudioInput) {
|
||||||
|
WAVEINCAPS wic;
|
||||||
|
// first use WAVE_MAPPER to get the default devices manufacturer ID
|
||||||
|
waveInGetDevCaps(WAVE_MAPPER, &wic, sizeof(wic));
|
||||||
|
//Use the received manufacturer id to get the device's real name
|
||||||
|
waveInGetDevCaps(wic.wMid, &wic, sizeof(wic));
|
||||||
|
qDebug() << "input device:" << wic.szPname;
|
||||||
|
deviceName = wic.szPname;
|
||||||
|
} else {
|
||||||
|
WAVEOUTCAPS woc;
|
||||||
|
// first use WAVE_MAPPER to get the default devices manufacturer ID
|
||||||
|
waveOutGetDevCaps(WAVE_MAPPER, &woc, sizeof(woc));
|
||||||
|
//Use the received manufacturer id to get the device's real name
|
||||||
|
waveOutGetDevCaps(woc.wMid, &woc, sizeof(woc));
|
||||||
|
qDebug() << "output device:" << woc.szPname;
|
||||||
|
deviceName = woc.szPname;
|
||||||
|
}
|
||||||
|
return getNamedAudioDeviceForMode(mode, deviceName);
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
// fallback for failed lookup is the default device
|
// fallback for failed lookup is the default device
|
||||||
return (mode == QAudio::AudioInput) ? QAudioDeviceInfo::defaultInputDevice() : QAudioDeviceInfo::defaultOutputDevice();
|
return (mode == QAudio::AudioInput) ? QAudioDeviceInfo::defaultInputDevice() : QAudioDeviceInfo::defaultOutputDevice();
|
||||||
|
|
Loading…
Reference in a new issue