13 #ifndef hifi_audiodeviceinfo_h
14 #define hifi_audiodeviceinfo_h
18 #include <QAudioDeviceInfo>
22 #define HIFI_AUDIO_DEVICE_INFO_DEFAULT_DEVICE_NAME "default "
24 class HifiAudioDeviceInfo :
public QObject {
34 HifiAudioDeviceInfo() : QObject() {}
35 HifiAudioDeviceInfo(
const HifiAudioDeviceInfo &deviceInfo) : QObject(){
36 _audioDeviceInfo = deviceInfo.getDevice();
37 _mode = deviceInfo.getMode();
38 _isDefault = deviceInfo.isDefault();
39 _deviceType = deviceInfo.getDeviceType();
40 _debugName = deviceInfo.getDevice().deviceName();
43 HifiAudioDeviceInfo(QAudioDeviceInfo deviceInfo,
bool isDefault, QAudio::Mode mode, DeviceType devType=both) :
44 _audioDeviceInfo(deviceInfo),
45 _isDefault(isDefault),
48 _debugName(deviceInfo.deviceName()) {
51 void setMode(QAudio::Mode mode) { _mode = mode; }
52 void setIsDefault() { _isDefault =
true; }
53 void setDevice(QAudioDeviceInfo devInfo);
54 QString deviceName()
const {
55 #if defined(Q_OS_ANDROID)
56 return _audioDeviceInfo.deviceName();
59 return DEFAULT_DEVICE_NAME;
61 return _audioDeviceInfo.deviceName();
64 QAudioDeviceInfo getDevice()
const {
return _audioDeviceInfo; }
65 bool isDefault()
const {
return _isDefault; }
66 QAudio::Mode getMode()
const {
return _mode; }
67 DeviceType getDeviceType()
const {
return _deviceType; }
68 HifiAudioDeviceInfo& operator=(
const HifiAudioDeviceInfo& other);
69 bool operator==(
const HifiAudioDeviceInfo& rhs)
const;
70 bool operator!=(
const HifiAudioDeviceInfo& rhs)
const;
73 QAudioDeviceInfo _audioDeviceInfo;
74 bool _isDefault {
false };
75 QAudio::Mode _mode { QAudio::AudioInput };
76 DeviceType _deviceType{ both };
80 static const QString DEFAULT_DEVICE_NAME;