玉兔远程控制 0.1.0-bate5
载入中...
搜索中...
未找到
ParameterRecord.h
1// Author: Kang Lin <kl222@126.com>
2
3#pragma once
4
5#if HAVE_QT6_MULTIMEDIA
6 #include <QMediaFormat>
7#endif
8#include <QMediaRecorder>
9
10#include "Parameter.h"
11
12class PLUGIN_EXPORT CParameterRecord : public CParameter
13{
14 Q_OBJECT
15
16public:
17 explicit CParameterRecord(QObject *parent = nullptr,
18 const QString& szPrefix = QString());
19
20 const QString GetVideoPath() const;
21 int SetVideoPath(const QString& szPath);
22
28 const QString GetVideoFile(bool bAuto = false);
29 int SetVideoFile(const QString& szFile);
30
31 QString GetImageFile(bool bAuto = false);
32 void SetImageFile(const QString &newImageFile);
33
34 QString GetImagePath() const;
35 void SetImagePath(const QString &newImagePath);
36
37#if HAVE_QT6_MULTIMEDIA
38 const QMediaFormat::FileFormat GetFileFormat() const;
39 int SetFileFormat(const QMediaFormat::FileFormat &f);
40
41 const QMediaFormat::VideoCodec GetVideoCodec() const;
42 int SetVideoCodec(QMediaFormat::VideoCodec);
43
44 const QMediaFormat::AudioCodec GetAudioCodec() const;
45 int SetAudioCodec(QMediaFormat::AudioCodec);
46
47 QMediaRecorder::Quality GetQuality() const;
48 void SetQuality(const QMediaRecorder::Quality &newQuality);
49 QMediaRecorder::EncodingMode GetEncodingMode() const;
50 void SetEncodingMode(const QMediaRecorder::EncodingMode &newEncodingMode);
51#endif
52
53 QSize GetVideoResolution();
54 void SetVideoResolution(QSize size);
55 int GetVideoBitRate() const;
56 void SetVideoBitRate(int bitRate);
57 qreal GetVideoFrameRate() const;
58 void SetVideoFrameRate(qreal newVideoFrameRate);
59 int GetAudioBitRate();
60 void SetAudioBitRate(int bitRate);
61 int GetAudioSampleRate() const;
62 void SetAudioSampleRate(int newAudioSampleRate);
63 int GetAudioChannelCount();
64 void SetAudioChannelCount(int count);
65
66 virtual CParameterRecord& operator=(const CParameterRecord &in);
67
68 bool GetEnableVideo() const;
69 void SetEnableVideo(bool newEnableVideo);
70 bool GetEnableAudio() const;
71 void SetEnableAudio(bool newEnableAudio);
72
73 enum ENDACTION {
74 No,
75 OpenFile,
76 OpenFolder
77 };
78 Q_ENUM(ENDACTION)
79
80 CParameterRecord::ENDACTION GetEndAction() const;
81 void SetEndAction(ENDACTION newEndAction);
82
83Q_SIGNALS:
84 void sigQualityChanged();
85 void sigEncodingModeChanged();
86 void sigImageFileChanged();
87 void sigEnableVideoChanged();
88 void sigEnableAudioChanged();
89 void sigEndActionChanged();
90
91 void ImagePathChanged();
92
93private:
94 bool m_bEnableVideo;
95 bool m_bEnableAudio;
96 QString m_szVideoFile;
97 QString m_szVideoPath;
98 QString m_szImageFile;
99 QString m_szImagePath;
100
101#if HAVE_QT6_MULTIMEDIA
102 QMediaFormat::FileFormat m_FileFormat;
103 QMediaFormat::VideoCodec m_VideoCodec;
104 QMediaFormat::AudioCodec m_AudioCodec;
105
106 QMediaRecorder::Quality m_Quality;
107 QMediaRecorder::EncodingMode m_EncodingMode;
108#endif
109
110 QSize m_VideoResolution;
111 int m_VideoBitRate;
112 qreal m_VideoFrameRate;
113 int m_AudioBitRate;
114 int m_AudioSampleRate;
115 int m_AudioChannelCount;
116
117 ENDACTION m_EndAction;
118
119protected:
120 virtual int OnLoad(QSettings &set) override;
121 virtual int OnSave(QSettings &set) override;
122};
123
124PLUGIN_EXPORT CParameterRecord& operator << (CParameterRecord& para, QMediaRecorder& recorder);
125PLUGIN_EXPORT CParameterRecord& operator << (CParameterRecord& para, QMediaRecorder& recorder);
126PLUGIN_EXPORT CParameterRecord& operator >> (CParameterRecord& para, QMediaRecorder& recorder);
参数接口
Definition Parameter.h:209