玉兔远程控制 0.0.35
载入中...
搜索中...
未找到
ConnecterPlayer.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 "ConnecterThread.h"
16#include "ParameterPlayer.h"
17
24{
25 Q_OBJECT
26
27public:
28 explicit CConnecterPlayer(CPluginClient *plugin);
29 virtual ~CConnecterPlayer();
30
31 // CConnecter interface
32public:
33 virtual qint16 Version() override;
34
35protected:
36 // CConnecterConnect interface
37 virtual CConnect *InstanceConnect() 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();
63public Q_SLOTS:
64 void slotPositionChanged(qint64 pos, qint64 duration);
65 void slotPlaybackStateChanged(QMediaPlayer::PlaybackState state);
66 void slotPlaybackError(QMediaPlayer::Error error, const QString &errorString);
67#if HAVE_QT6_RECORD
68 void slotRecordStateChanged(QMediaRecorder::RecorderState state);
69#endif
70#else // #if HAVE_QVideoWidget
71 QAction* m_pPause;
72#endif // #if HAVE_QVideoWidget
73
74};
75
76#endif // CONNETERPLAYER_H
连接接口。它由协议插件实现。 它默认启动一个定时器来开启一个非 Qt 事件循环(就是普通的循环处理)。 详见: Connect()、 slotTimeOut()、 OnProcess() 。 当然,它仍...
Definition Connect.h:45
virtual qint16 Version() override
Version
virtual int Clean() override
Clean parameters and resource
virtual CConnect * InstanceConnect() override
新建 CConnect 对象。它的所有者是调用者, 如果调用者不再使用它,调用者必须负责释放它。
virtual QDialog * OnOpenDialogSettings(QWidget *parent) override
得到设置对话框
virtual int Initial() override
Initial parameters and resource
默认启动一个后台线程。实现一个后台线程处理一个连接。 可与插件接口从 CPluginClient 派生的插件一起使用,用于连接是阻塞模型的。
virtual QWidget * GetViewer() override
得到显示视图
客户端插件接口。用于建立 CConnecter 实例,它由协议插件实现。