Added QAudioOutput to voice lib, as an approach to overcome #117

This commit is contained in:
Klaus Basan
2014-02-03 19:05:53 +01:00
committed by Mathew Sutcliffe
parent 82af8f0c4c
commit 4a77ee5fc4
3 changed files with 14 additions and 9 deletions

View File

@@ -1,6 +1,6 @@
include (../../externals.pri)
QT += core dbus network
QT += core dbus network multimedia
QT -= gui
TARGET = sample_voice_client
@@ -15,12 +15,13 @@ INCLUDEPATH += . ../../src
SOURCES += *.cpp
HEADERS += *.h
LIBS += -L../../lib -lblackcore -lblackmisc
LIBS += -L../../lib -lblackcore -lblackmisc -lblacksound
LIBS += -lvatlib
win32:!win32-g++*: PRE_TARGETDEPS += ../../lib/blackmisc.lib \
../../lib/blackcore.lib
../../lib/blackcore.lib \
../../lib/blacksound.lib
else: PRE_TARGETDEPS += ../../lib/libblackmisc.a \
../../lib/libblackcore.a
../../lib/libblackcore.a \
../../lib/libblacksound.a
DESTDIR = ../../bin

View File

@@ -18,6 +18,7 @@ namespace BlackCore
CVoiceVatlib::CVoiceVatlib(QObject *parent) :
IVoice(parent),
m_voice(Cvatlib_Voice_Simple::Create()),
m_audioOutput(new QAudioOutput()),
m_keyboardPtt(new CKeyboard(nullptr)),
m_pushToTalk(false),
m_inputSquelch(-1),
@@ -45,6 +46,7 @@ namespace BlackCore
this->m_outputEnabled.insert(COM2, true);
this->m_currentInputDevice = this->defaultAudioInputDevice();
this->m_currentOutputDevice = this->defaultAudioOutputDevice();
this->m_audioOutput->setVolume(1.0);
// do processing
this->startTimer(100);
@@ -77,7 +79,7 @@ namespace BlackCore
const BlackMisc::Voice::CAudioDevice CVoiceVatlib::defaultAudioInputDevice() const
{
// Constructor creates already a default device
return BlackMisc::Voice::CAudioDevice(BlackMisc::Voice::CAudioDevice::InputDevice, BlackMisc::Voice::CAudioDevice::defaultDevice(), "default");
return BlackMisc::Voice::CAudioDevice(BlackMisc::Voice::CAudioDevice::InputDevice, BlackMisc::Voice::CAudioDevice::defaultDeviceIndex(), "default");
}
/*
@@ -86,7 +88,7 @@ namespace BlackCore
const BlackMisc::Voice::CAudioDevice CVoiceVatlib::defaultAudioOutputDevice() const
{
// Constructor creates already a default device
return BlackMisc::Voice::CAudioDevice(BlackMisc::Voice::CAudioDevice::OutputDevice, BlackMisc::Voice::CAudioDevice::defaultDevice(), "default");
return BlackMisc::Voice::CAudioDevice(BlackMisc::Voice::CAudioDevice::OutputDevice, BlackMisc::Voice::CAudioDevice::defaultDeviceIndex(), "default");
}
/*
@@ -379,14 +381,14 @@ namespace BlackCore
/*
* Room output volume as per COM unit
*/
void CVoiceVatlib::setRoomOutputVolume(const ComUnit comUnit, const qint32 volumne)
void CVoiceVatlib::setRoomOutputVolume(const ComUnit comUnit, const qint32 volume)
{
Q_ASSERT_X(m_voice->IsValid() && m_voice->IsSetup(), "CVoiceClientVatlib", "Cvatlib_Voice_Simple invalid or not setup!");
Q_ASSERT_X(m_voice->IsRoomValid(static_cast<qint32>(comUnit)), "CVoiceClientVatlib", "Room index out of bounds!");
try
{
m_voice->SetRoomVolume(static_cast<qint32>(comUnit), volumne);
m_voice->SetRoomVolume(static_cast<qint32>(comUnit), volume);
}
catch (...)
{

View File

@@ -7,6 +7,7 @@
#define BLACKCORE_VOICE_VATLIB_H
#include "voice.h"
#include "../blacksound/soundgenerator.h"
#include "../blackmisc/vaudiodevicelist.h"
#include "../blackmisc/nwuserlist.h"
#include "../blackmisc/avcallsignlist.h"
@@ -294,6 +295,7 @@ namespace BlackCore
#endif
QScopedPointer<Cvatlib_Voice_Simple, Cvatlib_Voice_Simple_Deleter> m_voice;
QScopedPointer<QAudioOutput> m_audioOutput;
BlackMisc::Aviation::CCallsign m_aircraftCallsign; /*!< own callsign to join voice rooms */
BlackMisc::Voice::CVoiceRoomList m_voiceRooms;
BlackMisc::Voice::CAudioDeviceList m_devices; /*!< in and output devices */