qt_rtmp_demo/mainwindow.h

64 lines
1.4 KiB
C++

#ifndef MAINWINDOW_H
#define MAINWINDOW_H
#include <QMainWindow>
#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 <vector>
#include <QChart>
#include <QChartView>
#include <QLineSeries>
#include <QPoint>
#include <QVector>
#include <QList>
#include <QMutex>
using namespace QtCharts;
using namespace std;
namespace Ui {
class MainWindow;
}
class MainWindow : public QssMainWindow ,CaptureAudioFfmpeg::CaptureAudioObserver
{
Q_OBJECT
public:
explicit MainWindow(QWidget *parent = nullptr);
~MainWindow();
void OnAudioData(const void *frameaddress, uint32_t framelen) ;
private slots:
void on_pushButton_clicked();
void on_pushButton_2_clicked();
void on_pushButton_3_clicked();
void DetectDpi();
private:
QLineSeries* mSeries;
QVector<QPoint> mPoint1,mPoint2;
Ui::MainWindow *ui;
Camera *mCamera;
QStringList mCameraList;
bool m_bCameraOpen;
CPlayWidget *mPlayerWidget;
VideoCoder *mVideoCoder;
bool m_bRtmpPushing;
H264RtmpPuser *mPusher;
CaptureAudioFfmpeg *mAudioCapture;
vector<CaptureAudioFfmpeg::MICInfo> mMic;
QTimer *mTimer;
QChart *mChart;
QChartView *mChartView;
QList<void *>mBufferAudio;
QMutex mMux;
};
#endif // MAINWINDOW_H