玉兔远程控制
0.1.0-bate16
Toggle main menu visibility
载入中...
搜索中...
未找到
Plugins
Player
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
23
class
COperatePlayer :
public
COperateDesktop
24
{
25
Q_OBJECT
26
27
public
:
28
explicit
COperatePlayer(
CPlugin
*plugin);
29
virtual
~COperatePlayer();
30
31
// CConnecter interface
32
public
:
33
[[nodiscard]]
virtual
const
qint16
Version
()
const override
;
34
[[nodiscard]]
virtual
const
QString
Description
()
override
;
35
36
protected
:
37
// CConnecterConnect interface
38
[[nodiscard]]
virtual
CBackend
*
InstanceBackend
()
override
;
39
virtual
int
Initial
()
override
;
40
virtual
int
Clean
()
override
;
41
virtual
int
InitialMenu()
override
;
42
43
Q_SIGNALS:
44
void
sigStart(
bool
bStart);
45
void
sigPause(
bool
bPause);
46
void
sigChangePosition(qint64 pos);
47
48
Q_SIGNALS:
49
void
sigScreenShot();
50
public
Q_SLOTS:
51
virtual
void
slotScreenShot()
override
;
52
53
private
:
54
virtual
QDialog *
OnOpenDialogSettings
(QWidget *parent)
override
;
55
56
private
:
57
CParameterPlayer
m_Parameters;
58
59
#if HAVE_QVideoWidget
60
CFrmPlayer
m_Player;
61
public
:
62
virtual
QWidget *
GetViewer
()
override
;
63
QVideoSink *GetVideoSink();
64
public
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
CBackend
后端接口。它由协议插件实现。 它默认启动一个定时器来开启一个非 Qt 事件循环(就是普通的循环处理)。 详见: Start()、 slotTimeOut()、 OnProcess() 。 当然,它仍然支...
定义
Backend.h:52
CFrmPlayer
定义
FrmPlayer.h:25
COperateDesktop::COperateDesktop
COperateDesktop(CPlugin *plugin)
COperateDesktop::GetViewer
virtual QWidget * GetViewer() override
得到显示视图
定义
OperateDesktop.cpp:379
COperatePlayer::Clean
virtual int Clean() override
Clean parameters and resource
定义
OperatePlayer.cpp:177
COperatePlayer::Description
virtual const QString Description() override
[The name of the desktop operate]
定义
OperatePlayer.cpp:243
COperatePlayer::InstanceBackend
virtual CBackend * InstanceBackend() override
新建后端实例。它的所有者是调用者, 如果调用者不再使用它,调用者必须负责释放它。
定义
OperatePlayer.cpp:191
COperatePlayer::Initial
virtual int Initial() override
Initial parameters and resource
定义
OperatePlayer.cpp:27
COperatePlayer::Version
virtual const qint16 Version() const override
[The description of the desktop operate]
定义
OperatePlayer.cpp:22
COperatePlayer::OnOpenDialogSettings
virtual QDialog * OnOpenDialogSettings(QWidget *parent) override
得到设置对话框
定义
OperatePlayer.cpp:185
CParameterPlayer
定义
ParameterPlayer.h:9
CPlugin
插件接口
定义
Plugin.h:15
作者:康林 (kl222@126.com)
版权所有(c) 康林工作室 保留所有权力