玉兔远程控制 0.1.0-alpha.2
载入中...
搜索中...
未找到
OperatePlayer.h
1// Author: Kang Lin <kl222@126.com>
2
3#ifndef CONNETERPLAYER_H
4#define CONNETERPLAYER_H
5
6#pragma once
7
8#include <QMenu>
9#include <QMediaPlayer>
10#include <QMediaRecorder>
11#if HAVE_QVideoWidget
12#include "FrmPlayer.h"
13#endif
14
15#include "OperateDesktop.h"
16#include "ParameterPlayer.h"
17
24{
25 Q_OBJECT
26
27public:
28 explicit COperatePlayer(CPlugin *plugin);
29 virtual ~COperatePlayer();
30
31 // CConnecter interface
32public:
33 [[nodiscard]] virtual const qint16 Version() const override;
34
35protected:
36 // CConnecterConnect interface
37 [[nodiscard]] virtual CBackend *InstanceBackend() override;
38 virtual int Initial() override;
39 virtual int Clean() override;
40 virtual int InitialMenu() override;
41
42Q_SIGNALS:
43 void sigStart(bool bStart);
44 void sigPause(bool bPause);
45 void sigChangePosition(qint64 pos);
46
47Q_SIGNALS:
48 void sigScreenShot();
49public Q_SLOTS:
50 virtual void slotScreenShot() override;
51
52private:
53 virtual QDialog *OnOpenDialogSettings(QWidget *parent) override;
54
55private:
56 CParameterPlayer m_Parameters;
57
58#if HAVE_QVideoWidget
59 CFrmPlayer m_Player;
60public:
61 virtual QWidget *GetViewer() override;
62 QVideoSink *GetVideoSink();
63 virtual const QString Description() override;
64public Q_SLOTS:
65 void slotPositionChanged(qint64 pos, qint64 duration);
66 void slotPlaybackStateChanged(QMediaPlayer::PlaybackState state);
67 void slotPlaybackError(QMediaPlayer::Error error, const QString &errorString);
68#if HAVE_QT6_RECORD
69 void slotRecordStateChanged(QMediaRecorder::RecorderState state);
70#endif
71#else // #if HAVE_QVideoWidget
72 QAction* m_pPause;
73#endif // #if HAVE_QVideoWidget
74};
75
76#endif // CONNETERPLAYER_H
后端接口。它由协议插件实现。 它默认启动一个定时器来开启一个非 Qt 事件循环(就是普通的循环处理)。 详见: Start()、 slotTimeOut()、 OnProcess() 。 当然,它仍然支...
Definition Backend.h:42
远程桌面操作接口
virtual QWidget * GetViewer() override
得到显示视图
virtual const QString Description() override
Description
virtual int Clean() override
Clean parameters and resource
virtual CBackend * InstanceBackend() override
新建后端实例。它的所有者是调用者, 如果调用者不再使用它,调用者必须负责释放它。
virtual int Initial() override
Initial parameters and resource
virtual const qint16 Version() const override
Version
virtual QDialog * OnOpenDialogSettings(QWidget *parent) override
得到设置对话框
插件接口
Definition Plugin.h:15