Skip to content
Snippets Groups Projects
AudioOutput.h 1.03 KiB
Newer Older
  • Learn to ignore specific revisions
  • /****************************************************************************
     *
     *   (c) 2009-2016 QGROUNDCONTROL PROJECT <http://www.qgroundcontrol.org>
     *
     * QGroundControl is licensed according to the terms in the file
     * COPYING.md in the root of the source code directory.
     *
     ****************************************************************************/
    
    pixhawk's avatar
    pixhawk committed
    
    
    #pragma once
    
    pixhawk's avatar
    pixhawk committed
    
    #include <QObject>
    #include <QTimer>
    
    #include <QThread>
    
    pixhawk's avatar
    pixhawk committed
    #include <QStringList>
    
    #include <QTextToSpeech>
    
    #include "QGCToolbox.h"
    
    class QGCApplication;
    
    Lorenz Meier's avatar
    Lorenz Meier committed
    
    
    class AudioOutput : public QGCTool
    
    pixhawk's avatar
    pixhawk committed
    {
        Q_OBJECT
    public:
    
        AudioOutput(QGCApplication* app, QGCToolbox* toolbox);
    
    pixhawk's avatar
    pixhawk committed
    
    
        static bool     getMillisecondString    (const QString& string, QString& match, int& number);
        static QString  fixTextMessageForAudio  (const QString& string);
    
    pixhawk's avatar
    pixhawk committed
    public slots:
    
        bool            say                     (const QString& text);
    
    private slots:
        void            _stateChanged           (QTextToSpeech::State state);
    
    pixhawk's avatar
    pixhawk committed
    
    protected:
    
        QTextToSpeech*  _tts;
        QStringList     _texts;
    
    pixhawk's avatar
    pixhawk committed
    };