Skip to content

Commit 58872a4

Browse files
committed
Plugin: modify CParameterRecord
1 parent 4bba3b6 commit 58872a4

File tree

2 files changed

+77
-3
lines changed

2 files changed

+77
-3
lines changed

Src/ParameterCompone/ParameterRecord.cpp

Lines changed: 64 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,10 +18,21 @@ CParameterRecord::CParameterRecord(QObject *parent, const QString &szPrefix)
1818
, m_Quality(QMediaRecorder::NormalQuality)
1919
, m_EncodingMode(QMediaRecorder::ConstantQualityEncoding)
2020
#endif
21+
, m_VideoBitRate(0)
2122
, m_VideoFrameRate(0)
23+
, m_AudioBitRate(0)
2224
, m_AudioSampleRate(-1)
25+
, m_AudioChannelCount(1)
2326
, m_EndAction(ENDACTION::OpenFile)
2427
{
28+
#if HAVE_QT6_MULTIMEDIA
29+
QMediaRecorder recorder;
30+
m_VideoResolution = recorder.videoResolution();
31+
m_VideoBitRate = recorder.videoBitRate();
32+
m_AudioBitRate = recorder.audioBitRate();
33+
m_AudioChannelCount = recorder.audioChannelCount();
34+
#endif
35+
2536
m_szVideoPath = QStandardPaths::writableLocation(QStandardPaths::MoviesLocation);
2637
QDir d;
2738
if(m_szVideoPath.isEmpty() || !d.exists(m_szVideoPath))
@@ -60,9 +71,13 @@ CParameterRecord& CParameterRecord::operator =(const CParameterRecord& in)
6071
m_Quality = in.m_Quality;
6172
m_EncodingMode = in.m_EncodingMode;
6273
#endif
63-
74+
75+
m_VideoResolution = in.m_VideoResolution;
76+
m_VideoBitRate = in.m_VideoBitRate;
6477
m_VideoFrameRate = in.m_VideoFrameRate;
78+
m_AudioBitRate = in.m_AudioBitRate;
6579
m_AudioSampleRate = in.m_AudioSampleRate;
80+
m_AudioChannelCount = in.m_AudioChannelCount;
6681

6782
m_EndAction = in.m_EndAction;
6883

@@ -306,6 +321,26 @@ void CParameterRecord::SetEncodingMode(const QMediaRecorder::EncodingMode &newEn
306321
}
307322
#endif
308323

324+
QSize CParameterRecord::GetVideoResolution()
325+
{
326+
return m_VideoResolution;
327+
}
328+
329+
void CParameterRecord::SetVideoResolution(QSize size)
330+
{
331+
m_VideoResolution = size;
332+
}
333+
334+
int CParameterRecord::GetVideoBitRate() const
335+
{
336+
return m_VideoBitRate;
337+
}
338+
339+
void CParameterRecord::SetVideoBitRate(int bitRate)
340+
{
341+
m_VideoBitRate = bitRate;
342+
}
343+
309344
qreal CParameterRecord::GetVideoFrameRate() const
310345
{
311346
return m_VideoFrameRate;
@@ -320,6 +355,16 @@ void CParameterRecord::SetVideoFrameRate(qreal newVideoFrameRate)
320355
return;
321356
}
322357

358+
int CParameterRecord::GetAudioBitRate()
359+
{
360+
return m_AudioBitRate;
361+
}
362+
363+
void CParameterRecord::SetAudioBitRate(int bitRate)
364+
{
365+
m_AudioBitRate = bitRate;
366+
}
367+
323368
int CParameterRecord::GetAudioSampleRate() const
324369
{
325370
return m_AudioSampleRate;
@@ -334,11 +379,25 @@ void CParameterRecord::SetAudioSampleRate(int newAudioSampleRate)
334379
return;
335380
}
336381

382+
int CParameterRecord::GetAudioChannelCount()
383+
{
384+
return m_AudioChannelCount;
385+
}
386+
387+
void CParameterRecord::SetAudioChannelCount(int count)
388+
{
389+
m_AudioChannelCount = count;
390+
}
391+
337392
CParameterRecord& operator << (CParameterRecord& para, QMediaRecorder& recorder)
338393
{
339394
#if HAVE_QT6_MULTIMEDIA
395+
para.SetVideoResolution(recorder.videoResolution());
396+
para.SetVideoBitRate(recorder.videoBitRate());
340397
para.SetVideoFrameRate(recorder.videoFrameRate());
398+
para.SetAudioBitRate(recorder.audioBitRate());
341399
para.SetAudioSampleRate(recorder.audioSampleRate());
400+
para.SetAudioChannelCount(recorder.audioChannelCount());
342401
QMediaFormat format;
343402
format = recorder.mediaFormat();
344403
para.SetAudioCodec(format.audioCodec());
@@ -354,8 +413,12 @@ CParameterRecord& operator << (CParameterRecord& para, QMediaRecorder& recorder)
354413
CParameterRecord& operator >> (CParameterRecord& para, QMediaRecorder& recorder)
355414
{
356415
#if HAVE_QT6_MULTIMEDIA
416+
recorder.setVideoResolution(para.GetVideoResolution());
417+
recorder.setVideoBitRate(para.GetVideoBitRate());
357418
recorder.setVideoFrameRate(para.GetVideoFrameRate());
419+
recorder.setAudioBitRate(para.GetAudioBitRate());
358420
recorder.setAudioSampleRate(para.GetAudioSampleRate());
421+
recorder.setAudioChannelCount(para.GetAudioChannelCount());
359422
QMediaFormat format;
360423
format.setAudioCodec(para.GetAudioCodec());
361424
format.setVideoCodec(para.GetVideoCodec());

Src/ParameterCompone/ParameterRecord.h

Lines changed: 13 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -49,11 +49,19 @@ class PLUGIN_EXPORT CParameterRecord : public CParameter
4949
QMediaRecorder::EncodingMode GetEncodingMode() const;
5050
void SetEncodingMode(const QMediaRecorder::EncodingMode &newEncodingMode);
5151
#endif
52-
52+
53+
QSize GetVideoResolution();
54+
void SetVideoResolution(QSize size);
55+
int GetVideoBitRate() const;
56+
void SetVideoBitRate(int bitRate);
5357
qreal GetVideoFrameRate() const;
5458
void SetVideoFrameRate(qreal newVideoFrameRate);
59+
int GetAudioBitRate();
60+
void SetAudioBitRate(int bitRate);
5561
int GetAudioSampleRate() const;
5662
void SetAudioSampleRate(int newAudioSampleRate);
63+
int GetAudioChannelCount();
64+
void SetAudioChannelCount(int count);
5765

5866
virtual CParameterRecord& operator=(const CParameterRecord &in);
5967

@@ -99,8 +107,12 @@ class PLUGIN_EXPORT CParameterRecord : public CParameter
99107
QMediaRecorder::EncodingMode m_EncodingMode;
100108
#endif
101109

110+
QSize m_VideoResolution;
111+
int m_VideoBitRate;
102112
qreal m_VideoFrameRate;
113+
int m_AudioBitRate;
103114
int m_AudioSampleRate;
115+
int m_AudioChannelCount;
104116

105117
ENDACTION m_EndAction;
106118

@@ -112,4 +124,3 @@ class PLUGIN_EXPORT CParameterRecord : public CParameter
112124
PLUGIN_EXPORT CParameterRecord& operator << (CParameterRecord& para, QMediaRecorder& recorder);
113125
PLUGIN_EXPORT CParameterRecord& operator << (CParameterRecord& para, QMediaRecorder& recorder);
114126
PLUGIN_EXPORT CParameterRecord& operator >> (CParameterRecord& para, QMediaRecorder& recorder);
115-

0 commit comments

Comments
 (0)