mirror of
https://github.com/swift-project/pilotclient.git
synced 2026-04-21 04:45:31 +08:00
Added QAudioOutput to voice lib, as an approach to overcome #117
This commit is contained in:
committed by
Mathew Sutcliffe
parent
82af8f0c4c
commit
4a77ee5fc4
@@ -1,6 +1,6 @@
|
|||||||
include (../../externals.pri)
|
include (../../externals.pri)
|
||||||
|
|
||||||
QT += core dbus network
|
QT += core dbus network multimedia
|
||||||
QT -= gui
|
QT -= gui
|
||||||
|
|
||||||
TARGET = sample_voice_client
|
TARGET = sample_voice_client
|
||||||
@@ -15,12 +15,13 @@ INCLUDEPATH += . ../../src
|
|||||||
SOURCES += *.cpp
|
SOURCES += *.cpp
|
||||||
HEADERS += *.h
|
HEADERS += *.h
|
||||||
|
|
||||||
LIBS += -L../../lib -lblackcore -lblackmisc
|
LIBS += -L../../lib -lblackcore -lblackmisc -lblacksound
|
||||||
LIBS += -lvatlib
|
LIBS += -lvatlib
|
||||||
|
|
||||||
win32:!win32-g++*: PRE_TARGETDEPS += ../../lib/blackmisc.lib \
|
win32:!win32-g++*: PRE_TARGETDEPS += ../../lib/blackmisc.lib \
|
||||||
../../lib/blackcore.lib
|
../../lib/blackcore.lib \
|
||||||
|
../../lib/blacksound.lib
|
||||||
else: PRE_TARGETDEPS += ../../lib/libblackmisc.a \
|
else: PRE_TARGETDEPS += ../../lib/libblackmisc.a \
|
||||||
../../lib/libblackcore.a
|
../../lib/libblackcore.a \
|
||||||
|
../../lib/libblacksound.a
|
||||||
DESTDIR = ../../bin
|
DESTDIR = ../../bin
|
||||||
|
|||||||
@@ -18,6 +18,7 @@ namespace BlackCore
|
|||||||
CVoiceVatlib::CVoiceVatlib(QObject *parent) :
|
CVoiceVatlib::CVoiceVatlib(QObject *parent) :
|
||||||
IVoice(parent),
|
IVoice(parent),
|
||||||
m_voice(Cvatlib_Voice_Simple::Create()),
|
m_voice(Cvatlib_Voice_Simple::Create()),
|
||||||
|
m_audioOutput(new QAudioOutput()),
|
||||||
m_keyboardPtt(new CKeyboard(nullptr)),
|
m_keyboardPtt(new CKeyboard(nullptr)),
|
||||||
m_pushToTalk(false),
|
m_pushToTalk(false),
|
||||||
m_inputSquelch(-1),
|
m_inputSquelch(-1),
|
||||||
@@ -45,6 +46,7 @@ namespace BlackCore
|
|||||||
this->m_outputEnabled.insert(COM2, true);
|
this->m_outputEnabled.insert(COM2, true);
|
||||||
this->m_currentInputDevice = this->defaultAudioInputDevice();
|
this->m_currentInputDevice = this->defaultAudioInputDevice();
|
||||||
this->m_currentOutputDevice = this->defaultAudioOutputDevice();
|
this->m_currentOutputDevice = this->defaultAudioOutputDevice();
|
||||||
|
this->m_audioOutput->setVolume(1.0);
|
||||||
|
|
||||||
// do processing
|
// do processing
|
||||||
this->startTimer(100);
|
this->startTimer(100);
|
||||||
@@ -77,7 +79,7 @@ namespace BlackCore
|
|||||||
const BlackMisc::Voice::CAudioDevice CVoiceVatlib::defaultAudioInputDevice() const
|
const BlackMisc::Voice::CAudioDevice CVoiceVatlib::defaultAudioInputDevice() const
|
||||||
{
|
{
|
||||||
// Constructor creates already a default device
|
// 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
|
const BlackMisc::Voice::CAudioDevice CVoiceVatlib::defaultAudioOutputDevice() const
|
||||||
{
|
{
|
||||||
// Constructor creates already a default device
|
// 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
|
* 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->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!");
|
Q_ASSERT_X(m_voice->IsRoomValid(static_cast<qint32>(comUnit)), "CVoiceClientVatlib", "Room index out of bounds!");
|
||||||
|
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
m_voice->SetRoomVolume(static_cast<qint32>(comUnit), volumne);
|
m_voice->SetRoomVolume(static_cast<qint32>(comUnit), volume);
|
||||||
}
|
}
|
||||||
catch (...)
|
catch (...)
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -7,6 +7,7 @@
|
|||||||
#define BLACKCORE_VOICE_VATLIB_H
|
#define BLACKCORE_VOICE_VATLIB_H
|
||||||
|
|
||||||
#include "voice.h"
|
#include "voice.h"
|
||||||
|
#include "../blacksound/soundgenerator.h"
|
||||||
#include "../blackmisc/vaudiodevicelist.h"
|
#include "../blackmisc/vaudiodevicelist.h"
|
||||||
#include "../blackmisc/nwuserlist.h"
|
#include "../blackmisc/nwuserlist.h"
|
||||||
#include "../blackmisc/avcallsignlist.h"
|
#include "../blackmisc/avcallsignlist.h"
|
||||||
@@ -294,6 +295,7 @@ namespace BlackCore
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
QScopedPointer<Cvatlib_Voice_Simple, Cvatlib_Voice_Simple_Deleter> m_voice;
|
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::Aviation::CCallsign m_aircraftCallsign; /*!< own callsign to join voice rooms */
|
||||||
BlackMisc::Voice::CVoiceRoomList m_voiceRooms;
|
BlackMisc::Voice::CVoiceRoomList m_voiceRooms;
|
||||||
BlackMisc::Voice::CAudioDeviceList m_devices; /*!< in and output devices */
|
BlackMisc::Voice::CAudioDeviceList m_devices; /*!< in and output devices */
|
||||||
|
|||||||
Reference in New Issue
Block a user