3#include <QLoggingCategory>
4#include "OperatePlayer.h"
5#include "BackendPlayer.h"
9static Q_LOGGING_CATEGORY(log,
"Player.Operate")
14 qDebug(log) << Q_FUNC_INFO;
17COperatePlayer::~COperatePlayer()
19 qDebug(log) << Q_FUNC_INFO;
29 qDebug(log) << Q_FUNC_INFO;
46int COperatePlayer::InitialMenu()
52 m_pRecord =
new QAction(
53 QIcon::fromTheme(
"media-record"), tr(
"Record"), &m_Menu);
54 m_pRecord->setCheckable(
true);
55 check = connect(m_pRecord, SIGNAL(toggled(
bool)),
56 this, SLOT(slotRecord(
bool)));
59 m_pRecordPause =
new QAction(
60 QIcon::fromTheme(
"media-playback-pause"), tr(
"Record pause"), &m_Menu);
61 m_pRecordPause->setCheckable(
true);
62 m_pRecordPause->setEnabled(
false);
63 check = connect(m_pRecordPause, SIGNAL(toggled(
bool)),
64 this, SIGNAL(sigRecordPause(
bool)));
68 m_pScreenShot =
new QAction(QIcon::fromTheme(
"camera-photo"),
69 tr(
"ScreenShot"), &m_Menu);
70 check = connect(m_pScreenShot, SIGNAL(triggered()),
71 this, SLOT(slotScreenShot()));
74#ifdef HAVE_QVideoWidget
75 m_Menu.addAction(m_Player.m_paStart);
77 m_Player.m_paStart, &QAction::toggle);
79 check = connect(m_Player.m_paStart, SIGNAL(toggled(
bool)),
80 this, SIGNAL(sigStart(
bool)));
83 m_Menu.addAction(m_Player.m_paPause);
84 check = connect(m_Player.m_paPause, SIGNAL(toggled(
bool)),
85 this, SIGNAL(sigPause(
bool)));
89 m_Menu.addAction(m_Player.m_paRecord);
90 check = connect(m_Player.m_paRecord, SIGNAL(toggled(
bool)),
91 m_pRecord ,SIGNAL(toggled(
bool)));
94 m_Menu.addAction(m_Player.m_paRecordPause);
95 check = connect(m_Player.m_paRecordPause, SIGNAL(toggled(
bool)),
96 m_pRecordPause, SIGNAL(toggled(
bool)));
100 m_Menu.addAction(m_Player.m_paScreenShot);
101 check = connect(m_Player.m_paScreenShot, &QAction::triggered,
102 m_pScreenShot, &QAction::triggered);
105 m_Menu.addSeparator();
107 m_Menu.addAction(m_Player.m_paSettings);
108 check = connect(m_Player.m_paSettings, &QAction::triggered,
109 m_pActionSettings, &QAction::triggered);
114 m_Player.SetParameter(&m_Parameters);
117 check = connect(&m_Player, SIGNAL(sigChangePosition(qint64)),
118 this, SIGNAL(sigChangePosition(qint64)));
121 QAction* pStart = m_Menu.addAction(
122 QIcon::fromTheme(
"media-playback-start"), tr(
"Start"));
123 pStart->setCheckable(
true);
124 check = connect(
this, &CConnecterPlayer::sigRunning,
125 pStart, &QAction::toggle);
127 check = connect(pStart, &QAction::toggled,
128 this, [&](
bool checked){
129 QAction* p = qobject_cast<QAction*>(sender());
132 p->setIcon(QIcon::fromTheme(
"media-playback-stop"));
133 p->setText(tr(
"Stop"));
134 m_pPause->setEnabled(
true);
135 m_pPause->setChecked(
false);
136 m_pScreenShot->setEnabled(
true);
138 m_pRecord->setEnabled(
true);
139 m_pRecord->setChecked(
false);
140 m_pRecordPause->setEnabled(
true);
141 m_pRecordPause->setChecked(
false);
144 p->setIcon(QIcon::fromTheme(
"media-playback-start"));
145 p->setText(tr(
"Start"));
146 m_pPause->setEnabled(
false);
147 m_pPause->setChecked(
false);
148 m_pScreenShot->setEnabled(
false);
150 m_pRecord->setEnabled(
false);
151 m_pRecord->setChecked(
false);
152 m_pRecordPause->setEnabled(
false);
153 m_pRecordPause->setChecked(
false);
156 emit sigStart(checked);
159 m_pPause = m_Menu.addAction(
160 QIcon::fromTheme(
"media-playback-pause"), tr(
"pause"));
161 m_pPause->setCheckable(
true);
162 check = connect(m_pPause, SIGNAL(toggled(
bool)),
163 this, SIGNAL(sigPause(
bool)));
166 m_Menu.addAction(m_pRecord);
167 m_Menu.addAction(m_pRecordPause);
169 m_Menu.addAction(m_pScreenShot);
170 m_Menu.addSeparator();
171 m_Menu.addAction(m_pActiveSettings);
178 qDebug(log) << Q_FUNC_INFO;
186 QDialog* pDlg =
new CDlgPlayer(&m_Parameters, parent);
196void COperatePlayer::slotScreenShot()
198 emit sigScreenShot();
207QVideoSink *COperatePlayer::GetVideoSink()
209 return m_Player.videoSink();
212void COperatePlayer::slotPositionChanged(qint64 pos, qint64 duration)
214 m_Player.slotPositionChanged(pos, duration);
217void COperatePlayer::slotPlaybackError(
218 QMediaPlayer::Error error,
const QString &errorString)
220 if(m_Player.m_paStart->isChecked())
221 m_Player.m_paStart->setChecked(
false);
224void COperatePlayer::slotPlaybackStateChanged(QMediaPlayer::PlaybackState state)
226 if(QMediaPlayer::StoppedState == state
227 && m_Player.m_paStart->isChecked())
228 m_Player.m_paStart->setChecked(
false);
232void COperatePlayer::slotRecordStateChanged(QMediaRecorder::RecorderState state)
234 if(QMediaRecorder::StoppedState == state
235 && m_Player.m_paRecord->isCheckable())
236 m_Player.m_paRecord->setChecked(
false);
Remote desktop operate interface.
virtual int SetParameter(CParameterBase *p)
Set parameter pointer.
virtual int Initial() override
Initial parameters and resource.
virtual int Clean() override
Clean parameters and resource.
virtual int Clean() override
Clean parameters and resource.
virtual CBackend * InstanceBackend() override
New CBackend.
virtual int Initial() override
Initial parameters and resource.
virtual const qint16 Version() const override
Version.
virtual QDialog * OnOpenDialogSettings(QWidget *parent) override
Open settgins dialog.
void sigRunning()
Start success signal.
virtual QWidget * GetViewer()=0
Get Viewer.
void sigViewerFocusIn(QWidget *pView)
The view is focus.
virtual const QString Description()
Description.