|
|
|
@ -17,9 +17,17 @@
@@ -17,9 +17,17 @@
|
|
|
|
|
#include "SettingsManager.h" |
|
|
|
|
|
|
|
|
|
AudioOutput::AudioOutput(QGCApplication* app, QGCToolbox* toolbox) |
|
|
|
|
: QGCTool(app, toolbox) |
|
|
|
|
, _tts(new QTextToSpeech(this)) |
|
|
|
|
: QGCTool (app, toolbox) |
|
|
|
|
, _tts (nullptr) |
|
|
|
|
{ |
|
|
|
|
if (qgcApp()->runningUnitTests()) { |
|
|
|
|
// Cloud based unit tests don't have speech capabilty. If you try to crank up
|
|
|
|
|
// speech engine it will pop a qWarning which prevents usage of QT_FATAL_WARNINGS
|
|
|
|
|
return; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
_tts = new QTextToSpeech(this); |
|
|
|
|
|
|
|
|
|
//-- Force TTS engine to English as all incoming messages from the autopilot
|
|
|
|
|
// are in English and not localized.
|
|
|
|
|
#ifdef Q_OS_LINUX |
|
|
|
@ -28,8 +36,13 @@ AudioOutput::AudioOutput(QGCApplication* app, QGCToolbox* toolbox)
@@ -28,8 +36,13 @@ AudioOutput::AudioOutput(QGCApplication* app, QGCToolbox* toolbox)
|
|
|
|
|
connect(_tts, &QTextToSpeech::stateChanged, this, &AudioOutput::_stateChanged); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
bool AudioOutput::say(const QString& inText) |
|
|
|
|
void AudioOutput::say(const QString& inText) |
|
|
|
|
{ |
|
|
|
|
if (!_tts) { |
|
|
|
|
qDebug() << "say" << inText; |
|
|
|
|
return; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
bool muted = qgcApp()->toolbox()->settingsManager()->appSettings()->audioMuted()->rawValue().toBool(); |
|
|
|
|
muted |= qgcApp()->runningUnitTests(); |
|
|
|
|
if (!muted && !qgcApp()->runningUnitTests()) { |
|
|
|
@ -46,7 +59,6 @@ bool AudioOutput::say(const QString& inText)
@@ -46,7 +59,6 @@ bool AudioOutput::say(const QString& inText)
|
|
|
|
|
_tts->say(text); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
return true; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
void AudioOutput::_stateChanged(QTextToSpeech::State state) |
|
|
|
|