13 #ifndef hifi_audiodeviceinfo_h
14 #define hifi_audiodeviceinfo_h
18 #include <QAudioDeviceInfo>
22 class HifiAudioDeviceInfo :
public QObject {
32 HifiAudioDeviceInfo() : QObject() {}
33 HifiAudioDeviceInfo(
const HifiAudioDeviceInfo &deviceInfo) : QObject(){
34 _audioDeviceInfo = deviceInfo.getDevice();
35 _mode = deviceInfo.getMode();
36 _isDefault = deviceInfo.isDefault();
37 _deviceType = deviceInfo.getDeviceType();
38 _debugName = deviceInfo.getDevice().deviceName();
41 HifiAudioDeviceInfo(QAudioDeviceInfo deviceInfo,
bool isDefault, QAudio::Mode mode, DeviceType devType=both) :
42 _audioDeviceInfo(deviceInfo),
43 _isDefault(isDefault),
46 _debugName(deviceInfo.deviceName()) {
49 void setMode(QAudio::Mode mode) { _mode = mode; }
50 void setIsDefault() { _isDefault =
true; }
51 void setDevice(QAudioDeviceInfo devInfo);
52 QString deviceName()
const {
53 #if defined(Q_OS_ANDROID)
54 return _audioDeviceInfo.deviceName();
57 return DEFAULT_DEVICE_NAME;
59 return _audioDeviceInfo.deviceName();
62 QAudioDeviceInfo getDevice()
const {
return _audioDeviceInfo; }
63 bool isDefault()
const {
return _isDefault; }
64 QAudio::Mode getMode()
const {
return _mode; }
65 DeviceType getDeviceType()
const {
return _deviceType; }
66 HifiAudioDeviceInfo& operator=(
const HifiAudioDeviceInfo& other);
67 bool operator==(
const HifiAudioDeviceInfo& rhs)
const;
68 bool operator!=(
const HifiAudioDeviceInfo& rhs)
const;
71 QAudioDeviceInfo _audioDeviceInfo;
72 bool _isDefault {
false };
73 QAudio::Mode _mode { QAudio::AudioInput };
74 DeviceType _deviceType{ both };
78 static const QString DEFAULT_DEVICE_NAME;