@@ -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+
309344qreal 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+
323368int 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+
337392CParameterRecord& 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)
354413CParameterRecord& 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 ());
0 commit comments