COSC345CoolGroupASLtoSpeech
BridgingASLandspokenlanguagewithAI:Translategesturestospeechforinclusivecommunication.
camera.h
Go to the documentation of this file.
1 
8 #ifndef CAMERA_H
9 #define CAMERA_H
10 
11 #include <QMainWindow>
12 #include <QAudioInput>
13 #include <QCamera>
14 #include <QImageCapture>
15 #include <QVideoFrame>
16 #include <QMediaCaptureSession>
17 #include <QMediaDevices>
18 #include <QMediaMetaData>
19 #include <QMediaRecorder>
20 #include <QScopedPointer>
21 #include <QMenu>
22 #include <QMenuBar>
23 #include <QList>
24 #include <QPair>
25 #include <QVideoWidget>
26 #include <QMediaPlayer>
27 #include <QImageCapture>
28 #include <QVideoSink>
29 #include <QtCore>
30 #include <QMessageBox>
31 #include <QStackedWidget>
32 #include <QProgressBar>
33 #include <QRadioButton>
34 
43 QT_BEGIN_NAMESPACE
44 namespace Ui {
45 
46 
47 class Camera;
48 }
49 QT_END_NAMESPACE
50 
59 class Camera : public QMainWindow
60 {
61 // Q_OBJECT
62 
63 
64 
65 
66 public:
72  Camera();
73 
74 
75 //private:
76  Ui::Camera *ui;
77  QStackedWidget *stacked;
78  QList<QString> history;
79  QActionGroup *videoDevicesGroup = nullptr;
80 
81  QMediaDevices m_devices;
82  QImageCapture m_imageCapture;
83  QMediaCaptureSession m_captureSession;
84  QCamera m_camera;
85  QCamera *cam;
86 
87  QScopedPointer<QAudioInput> m_audioInput;
88  QScopedPointer<QMediaRecorder> m_mediaRecorder;
89  QMessageBox msgBox;
90 
91  //Menu bar objects
92  QMenu *fileMenu;
93  QMenu *devicesMenu;
94  QMenu *cameraMenu;
95 
96  bool m_isCapturingImage = false;
97  bool m_applicationExiting = false;
98  bool m_doImageCapture = true;
99 
100  QProgressBar *progressBar;
101  QRadioButton *maleButton;
102  QRadioButton *femaleButton;
103 
104 
105 public Q_SLOTS:
106 
107 //private Q_SLOTS:
113  void setupMenus();
119  void displayCameraError();
120 
126  void translateText();
127 
128 
136  void addToHistory(const QString &original);
137 
143  void startCamera();
144 
150  void stopCamera();
151 
159  QString getHistoryText();
160 
170  void imageAvailable(QVideoFrame frame);
171 
172 
173  bool getCameraActive();
174  QString getLastHistory();
175  QString getTranslateText();
176  void setTranslateText(QString str);
177  void setSubtitle(QString str);
178  QString getSubtitle();
179  void onAboutToQuit();
180  QString getHistoryForTranslate();
181  void openSettings();
182  void closeSettings();
183  void closeApp();
184  void enableTyping();
185  void signTimer();
186  void updateProgressBar();
187  void startProgressBar();
188  void setProgressBarValue(int value);
189  int getGender();
190  void openHelp();
191  void closeHelp();
192 
193 };
194 
195 #endif // CAMERA_H
QScopedPointer< QMediaRecorder > m_mediaRecorder
Definition: camera.h:88
QProgressBar * progressBar
Definition: camera.h:100
QMenu * fileMenu
Definition: camera.h:92
QScopedPointer< QAudioInput > m_audioInput
Definition: camera.h:87
QMessageBox msgBox
Definition: camera.h:89
Ui::Camera * ui
Definition: camera.h:76
Contains user interface classes for the Camera application.
The Camera class represents the main application window and camera functionalities.
Definition: camera.h:59
QMediaCaptureSession m_captureSession
media capture session instance
Definition: camera.h:83
QCamera m_camera
camera instance
Definition: camera.h:84
QCamera * cam
Definition: camera.h:85
QMenu * devicesMenu
Definition: camera.h:93
QMenu * cameraMenu
Definition: camera.h:94
QRadioButton * maleButton
Definition: camera.h:101
QList< QString > history
list to store history of translations
Definition: camera.h:78
QMediaDevices m_devices
available multimedia input/output devices instance
Definition: camera.h:81
QStackedWidget * stacked
Definition: camera.h:77
QRadioButton * femaleButton
Definition: camera.h:102
QImageCapture m_imageCapture
image capture instance
Definition: camera.h:82