#ifndef MAINWINDOW_H #define MAINWINDOW_H #include #include "media/CameraCapture.h" #include "cplaywidget.h" #include "media/VideoCoder.h" #include "media/RtmpPusher.h" #include "components/toast.h" #include "utils.h" #include "Qss.h" #include "media/audiocaptureff.h" #include #include #include #include #include #include #include #include #include "media/screen_capture.h" #include "utils/screenshotwidget.h" using namespace QtCharts; using namespace std; namespace Ui { class MainWindow; } #include class MainWindow : public QssMainWindow ,CaptureAudioFfmpeg::CaptureAudioObserver { Q_OBJECT public: explicit MainWindow(QWidget *parent = nullptr); ~MainWindow(); void OnAudioData(const void *frameaddress, uint32_t framelen) ; public slots: void on_rect_selected(QRect rect); private slots: void on_pushButton_clicked(); void on_pushButton_2_clicked(); void on_pushButton_3_clicked(); void DetectDpi(); void on_pushButton_4_clicked(); void on_pushButton_5_clicked(); void on_pushButton_6_clicked(); void on_pushButton_5_clicked(bool checked); private: QLineSeries* mSeries; QVector mPoint1,mPoint2; Ui::MainWindow *ui; Camera *mCamera; QStringList mCameraList; bool m_bCameraOpen; CPlayWidget *mPlayerWidget; VideoCoder *mVideoCoder; bool m_bRtmpPushing; H264RtmpPuser *mPusher; CaptureAudioFfmpeg *mAudioCapture; vector mMic; QTimer *mTimer; QChart *mChart; QChartView *mChartView; QListmBufferAudio; QMutex mMux; // lock for audio ScreenShotWidget *mScreenshot; ScreenCapture *mScreenCap; bool mCapScreen; }; #endif // MAINWINDOW_H