Rabbit Remote Control 0.1.0-bate16
Loading...
Searching...
No Matches
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
23class COperatePlayer : public COperateDesktop
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 [[nodiscard]] virtual const QString Description() override;
35
36protected:
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
43Q_SIGNALS:
44 void sigStart(bool bStart);
45 void sigPause(bool bPause);
46 void sigChangePosition(qint64 pos);
47
48Q_SIGNALS:
49 void sigScreenShot();
50public Q_SLOTS:
51 virtual void slotScreenShot() override;
52
53private:
54 virtual QDialog *OnOpenDialogSettings(QWidget *parent) override;
55
56private:
57 CParameterPlayer m_Parameters;
58
59#if HAVE_QVideoWidget
60 CFrmPlayer m_Player;
61public:
62 virtual QWidget *GetViewer() override;
63 QVideoSink *GetVideoSink();
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
Backend interface.
Definition Backend.h:52
COperateDesktop(CPlugin *plugin)
virtual QWidget * GetViewer() override
Get Viewer.
virtual int Clean() override
Clean parameters and resource.
virtual const QString Description() override
[The name of the desktop operate]
virtual CBackend * InstanceBackend() override
New CBackend.
virtual int Initial() override
Initial parameters and resource.
virtual const qint16 Version() const override
[The description of the desktop operate]
virtual QDialog * OnOpenDialogSettings(QWidget *parent) override
Open settgins dialog.
Plugin interface.
Definition Plugin.h:15