3#include <QLoggingCategory>
4#include "ConnecterPlayer.h"
5#include "ConnectPlayer.h"
7#include "PluginClient.h"
9static Q_LOGGING_CATEGORY(log,
"Player.Connecter")
14 qDebug(log) << Q_FUNC_INFO;
17CConnecterPlayer::~CConnecterPlayer()
19 qDebug(log) << Q_FUNC_INFO;
29 qDebug(log) << Q_FUNC_INFO;
32 nRet = SetParameter(&m_Parameters);
46int CConnecterPlayer::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_pSettings, &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);
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_pSettings);
178 qDebug(log) << Q_FUNC_INFO;
186 QDialog* pDlg =
new CDlgPlayer(&m_Parameters, parent);
196void CConnecterPlayer::slotScreenShot()
198 emit sigScreenShot();
207QVideoSink *CConnecterPlayer::GetVideoSink()
209 return m_Player.videoSink();
212void CConnecterPlayer::slotPositionChanged(qint64 pos, qint64 duration)
214 m_Player.slotPositionChanged(pos, duration);
217void CConnecterPlayer::slotPlaybackError(
218 QMediaPlayer::Error error,
const QString &errorString)
220 if(m_Player.m_paStart->isChecked())
221 m_Player.m_paStart->setChecked(
false);
224void CConnecterPlayer::slotPlaybackStateChanged(QMediaPlayer::PlaybackState state)
226 if(QMediaPlayer::StoppedState == state
227 && m_Player.m_paStart->isChecked())
228 m_Player.m_paStart->setChecked(
false);
232void CConnecterPlayer::slotRecordStateChanged(QMediaRecorder::RecorderState state)
234 if(QMediaRecorder::StoppedState == state
235 && m_Player.m_paRecord->isCheckable())
236 m_Player.m_paRecord->setChecked(
false);
virtual qint16 Version() override
Version.
virtual int Clean() override
Clean parameters and resource.
virtual CConnect * InstanceConnect() override
New connect.
virtual QDialog * OnOpenDialogSettings(QWidget *parent) override
Open settgins dialog.
virtual int Initial() override
Initial parameters and resource.
It starts a background thread by default.
virtual int Initial() override
Initial parameters and resource.
virtual int Clean() override
Clean parameters and resource.
void sigConnected()
Successful connection signal.
virtual QWidget * GetViewer()=0
Get Viewer.
void sigViewerFocusIn(QWidget *pView)
The view is focus.