mainwindow.h 1.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. #pragma once
  2. #include <QMainWindow>
  3. #include <QTimer>
  4. #include <QAudioInput>
  5. #include <QAudioSource>
  6. #include <QByteArray>
  7. #include <QTextEdit>
  8. #include <QLineEdit>
  9. #include <QPushButton>
  10. #include <QLabel>
  11. QT_BEGIN_NAMESPACE
  12. namespace Ui {
  13. class MainWindow;
  14. }
  15. QT_END_NAMESPACE
  16. class AudioCapture;
  17. class AsrClient;
  18. class MainWindow : public QMainWindow {
  19. Q_OBJECT
  20. public:
  21. MainWindow(QWidget* parent = nullptr);
  22. ~MainWindow();
  23. private slots:
  24. void onConnectClicked();
  25. void onStartStopClicked();
  26. void onClearClicked();
  27. void onConnected();
  28. void onDisconnected();
  29. void onConnectionError(const QString& error);
  30. void onTranscriptReceived(const QString& text, const QString& language);
  31. void onAudioLevelChanged(qreal level);
  32. void onAudioDataReady(const QByteArray& data);
  33. private:
  34. Ui::MainWindow* ui;
  35. AudioCapture* m_audioCapture;
  36. AsrClient* m_asrClient;
  37. bool m_isRecording;
  38. bool m_isConnected;
  39. QTimer* m_transcribeTimer;
  40. void updateUiState();
  41. void appendTranscript(const QString& text);
  42. };