玉兔远程控制 0.1.0-bate11
载入中...
搜索中...
未找到
BackendPlayer.h
1// Author: Kang Lin <kl222@126.com>
2
3#ifndef CONNECTPLAYER_H
4#define CONNECTPLAYER_H
5
6#pragma once
7
8#include <QtGlobal>
9
10#include <QMediaCaptureSession>
11#include <QMediaPlayer>
12#include <QVideoSink>
13
14#include <QAudioOutput>
15#include <QAudioInput>
16#include <QCamera>
17
18#include "BackendDesktop.h"
19#include "OperatePlayer.h"
20
21class CBackendPlayer : public CBackendDesktop
22{
23 Q_OBJECT
24
25public:
26 explicit CBackendPlayer(COperatePlayer* pOperate);
27 virtual ~CBackendPlayer();
28
29public Q_SLOTS:
30 virtual void slotStart();
31 virtual void slotStop();
32#if HAVE_QT6_RECORD
33 virtual void slotRecord(bool bRecord) override;
34#endif
35
36 virtual void slotClipBoardChanged() override;
37
38protected:
39 virtual OnInitReturnValue OnInit() override;
40 virtual int OnClean() override;
41 virtual int WakeUp() override;
42
43 virtual void mousePressEvent(QMouseEvent *event) override;
44 virtual void mouseReleaseEvent(QMouseEvent *event) override;
45 virtual void mouseMoveEvent(QMouseEvent *event) override;
46 virtual void wheelEvent(QWheelEvent *event) override;
47 virtual void keyPressEvent(QKeyEvent *event) override;
48 virtual void keyReleaseEvent(QKeyEvent *event) override;
49 virtual void InputMethodEvent(QInputMethodEvent *event) override;
50
51private Q_SLOTS:
52 void slotVideoFrameChanged(const QVideoFrame &frame);
53 void slotEnableAudioInput(bool bEnable);
54 void slotEnableAudioOutput(bool bEnable);
55 void slotPositionChanged(qint64 pos);
56 void slotDurationChanged(qint64 duration);
57Q_SIGNALS:
58 void sigPositionChanged(qint64 pos, qint64 duration);
59
60private:
61 QRect m_Video;
62 QCamera* m_pCamera;
63 QMediaPlayer m_Player;
64 QVideoSink m_VideoSink;
65 bool m_bScreenShot;
66
67 QAudioOutput m_AudioOutput;
68 QAudioInput m_AudioInput;
69
70 CParameterPlayer* m_pParameters;
71 qint64 m_nPosition;
72 qint64 m_nDuration;
73
74 QString m_szRecordFile;
75};
76
77#endif // CONNECTPLAYER_H
virtual int OnClean() override
清理
virtual int WakeUp() override
唤醒后台线程。
virtual OnInitReturnValue OnInit() override
初始化