mirror of
https://github.com/swift-project/pilotclient.git
synced 2026-05-02 07:05:38 +08:00
[AFV] Ref T739, encapsulate defaultXXDevice calls
* based on bug: https://bugreports.qt.io/plugins/servlet/mobile#issue/QTBUG-55631 * approach: avoid calls to default device (did not work out) * kept encapsulation as it easier allows to text/apply workarounds
This commit is contained in:
@@ -141,10 +141,8 @@ namespace BlackMisc
|
||||
|
||||
CAudioDeviceInfoList CAudioDeviceInfoList::allInputDevices()
|
||||
{
|
||||
const QList<QAudioDeviceInfo> inputDevices = QAudioDeviceInfo::availableDevices(QAudio::AudioInput);
|
||||
CAudioDeviceInfoList devices;
|
||||
|
||||
for (const QAudioDeviceInfo &inputDevice : inputDevices)
|
||||
for (const QAudioDeviceInfo &inputDevice : allQtInputDevices())
|
||||
{
|
||||
const CAudioDeviceInfo d(CAudioDeviceInfo::InputDevice, inputDevice.deviceName());
|
||||
if (! devices.contains(d)) { devices.push_back(d); }
|
||||
@@ -154,10 +152,8 @@ namespace BlackMisc
|
||||
|
||||
CAudioDeviceInfoList CAudioDeviceInfoList::allOutputDevices()
|
||||
{
|
||||
const QList<QAudioDeviceInfo> outputDevices = QAudioDeviceInfo::availableDevices(QAudio::AudioOutput);
|
||||
CAudioDeviceInfoList devices;
|
||||
|
||||
for (const QAudioDeviceInfo &outputDevice : outputDevices)
|
||||
for (const QAudioDeviceInfo &outputDevice : allQtOutputDevices())
|
||||
{
|
||||
const CAudioDeviceInfo d(CAudioDeviceInfo::OutputDevice, outputDevice.deviceName());
|
||||
if (! devices.contains(d)) { devices.push_back(d); }
|
||||
@@ -172,5 +168,39 @@ namespace BlackMisc
|
||||
return i;
|
||||
}
|
||||
|
||||
QList<QAudioDeviceInfo> CAudioDeviceInfoList::allQtInputDevices()
|
||||
{
|
||||
const QList<QAudioDeviceInfo> devices = QAudioDeviceInfo::availableDevices(QAudio::AudioInput);
|
||||
return devices;
|
||||
}
|
||||
|
||||
QList<QAudioDeviceInfo> CAudioDeviceInfoList::allQtOutputDevices()
|
||||
{
|
||||
const QList<QAudioDeviceInfo> devices = QAudioDeviceInfo::availableDevices(QAudio::AudioOutput);
|
||||
return devices;
|
||||
}
|
||||
|
||||
QAudioDeviceInfo CAudioDeviceInfoList::defaultInputDevice()
|
||||
{
|
||||
return QAudioDeviceInfo::defaultInputDevice();
|
||||
|
||||
/**
|
||||
const QList<QAudioDeviceInfo> devices = allQtInputDevices();
|
||||
if (devices.isEmpty()) { return devices.front(); }
|
||||
return QAudioDeviceInfo();
|
||||
**/
|
||||
}
|
||||
|
||||
QAudioDeviceInfo CAudioDeviceInfoList::defaultOutputDevice()
|
||||
{
|
||||
return QAudioDeviceInfo::defaultOutputDevice();
|
||||
|
||||
/**
|
||||
const QList<QAudioDeviceInfo> devices = allQtOutputDevices();
|
||||
if (devices.isEmpty()) { return devices.front(); }
|
||||
return QAudioDeviceInfo();
|
||||
**/
|
||||
}
|
||||
|
||||
} // namespace
|
||||
} // namespace
|
||||
|
||||
@@ -12,12 +12,13 @@
|
||||
#define BLACKMISC_AUDIO_AUDIODEVICELIST_H
|
||||
|
||||
#include "blackmisc/audio/audiodeviceinfo.h"
|
||||
#include "blackmisc/blackmiscexport.h"
|
||||
#include "blackmisc/collection.h"
|
||||
#include "blackmisc/sequence.h"
|
||||
#include "blackmisc/variant.h"
|
||||
#include "blackmisc/blackmiscexport.h"
|
||||
|
||||
#include <QMetaType>
|
||||
#include <QAudioDeviceInfo>
|
||||
#include <QStringList>
|
||||
|
||||
namespace BlackMisc
|
||||
@@ -82,6 +83,10 @@ namespace BlackMisc
|
||||
static CAudioDeviceInfoList allInputDevices();
|
||||
static CAudioDeviceInfoList allOutputDevices();
|
||||
static CAudioDeviceInfoList allDevices();
|
||||
static QList<QAudioDeviceInfo> allQtInputDevices();
|
||||
static QList<QAudioDeviceInfo> allQtOutputDevices();
|
||||
static QAudioDeviceInfo defaultInputDevice();
|
||||
static QAudioDeviceInfo defaultOutputDevice();
|
||||
//! @}
|
||||
};
|
||||
} //namespace
|
||||
|
||||
Reference in New Issue
Block a user