mirror of
https://github.com/swift-project/pilotclient.git
synced 2026-03-30 11:55:35 +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)
|
||||
|
||||
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
|
||||
|
||||
@@ -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 (...)
|
||||
{
|
||||
|
||||
@@ -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 */
|
||||
|
||||
Reference in New Issue
Block a user