Projet ROV'NET  0.1
BTS SN 2019
Fonctions membres publiques | Fonctions membres protégées | Fonctions membres privées | Attributs privés | Liste de tous les membres
Référence de la classe VideoSettings

#include <videosettings.h>

Graphe de collaboration de VideoSettings:
Collaboration graph

Fonctions membres publiques

 VideoSettings (QMediaRecorder *mediaRecorder, QWidget *parent=0)
 
 ~VideoSettings ()
 
QAudioEncoderSettings audioSettings () const
 
void setAudioSettings (const QAudioEncoderSettings &)
 
QVideoEncoderSettings videoSettings () const
 
void setVideoSettings (const QVideoEncoderSettings &)
 
QString format () const
 
void setFormat (const QString &format)
 

Fonctions membres protégées

void changeEvent (QEvent *e)
 

Fonctions membres privées

QVariant boxValue (const QComboBox *) const
 
void selectComboBoxItem (QComboBox *box, const QVariant &value)
 

Attributs privés

Ui::VideoSettingsUi * ui
 
QMediaRecorder * mediaRecorder
 

Documentation des constructeurs et destructeur

◆ VideoSettings()

VideoSettings::VideoSettings ( QMediaRecorder *  mediaRecorder,
QWidget *  parent = 0 
)

Références format(), et ui.

50  :
51  QDialog(parent),
52  ui(new Ui::VideoSettingsUi),
54 {
55  ui->setupUi(this);
56 
57  //audio codecs
58  ui->audioCodecBox->addItem(tr("Default audio codec"), QVariant(QString()));
59  foreach (const QString &codecName, mediaRecorder->supportedAudioCodecs()) {
60  QString description = mediaRecorder->audioCodecDescription(codecName);
61  ui->audioCodecBox->addItem(codecName+": "+description, QVariant(codecName));
62  }
63 
64  //sample rate:
65  foreach (int sampleRate, mediaRecorder->supportedAudioSampleRates()) {
66  ui->audioSampleRateBox->addItem(QString::number(sampleRate), QVariant(sampleRate));
67  }
68 
69  ui->audioQualitySlider->setRange(0, int(QMultimedia::VeryHighQuality));
70 
71  //video codecs
72  ui->videoCodecBox->addItem(tr("Default video codec"), QVariant(QString()));
73  foreach (const QString &codecName, mediaRecorder->supportedVideoCodecs()) {
74  QString description = mediaRecorder->videoCodecDescription(codecName);
75  ui->videoCodecBox->addItem(codecName+": "+description, QVariant(codecName));
76  }
77 
78  ui->videoQualitySlider->setRange(0, int(QMultimedia::VeryHighQuality));
79 
80 
81  ui->videoResolutionBox->addItem(tr("Default"));
82  QList<QSize> supportedResolutions = mediaRecorder->supportedResolutions();
83  foreach (const QSize &resolution, supportedResolutions) {
84  ui->videoResolutionBox->addItem(QString("%1x%2").arg(resolution.width()).arg(resolution.height()),
85  QVariant(resolution));
86  }
87 
88  ui->videoFramerateBox->addItem(tr("Default"));
89  QList<qreal> supportedFrameRates = mediaRecorder->supportedFrameRates();
90  qreal rate;
91  foreach (rate, supportedFrameRates) {
92  QString rateString = QString("%1").arg(rate, 0, 'f', 2);
93  ui->videoFramerateBox->addItem(rateString, QVariant(rate));
94  }
95 
96  //containers
97  ui->containerFormatBox->addItem(tr("Default container"), QVariant(QString()));
98  foreach (const QString &format, mediaRecorder->supportedContainers()) {
99  ui->containerFormatBox->addItem(format+":"+mediaRecorder->containerDescription(format),
100  QVariant(format));
101  }
102 }
QString format() const
Definition: videosettings.cpp:164
QMediaRecorder * mediaRecorder
Definition: videosettings.h:79
Ui::VideoSettingsUi * ui
Definition: videosettings.h:78

◆ ~VideoSettings()

VideoSettings::~VideoSettings ( )

Références ui.

105 {
106  delete ui;
107 }
Ui::VideoSettingsUi * ui
Definition: videosettings.h:78

Documentation des fonctions membres

◆ audioSettings()

QAudioEncoderSettings VideoSettings::audioSettings ( ) const

Références boxValue(), mediaRecorder, et ui.

Référencé par Camera::configureVideoSettings().

122 {
123  QAudioEncoderSettings settings = mediaRecorder->audioSettings();
124  settings.setCodec(boxValue(ui->audioCodecBox).toString());
125  settings.setQuality(QMultimedia::EncodingQuality(ui->audioQualitySlider->value()));
126  settings.setSampleRate(boxValue(ui->audioSampleRateBox).toInt());
127  return settings;
128 }
QMediaRecorder * mediaRecorder
Definition: videosettings.h:79
Ui::VideoSettingsUi * ui
Definition: videosettings.h:78
QVariant boxValue(const QComboBox *) const
Definition: videosettings.cpp:174

◆ boxValue()

QVariant VideoSettings::boxValue ( const QComboBox *  box) const
private

Référencé par audioSettings(), format(), et videoSettings().

175 {
176  int idx = box->currentIndex();
177  if (idx == -1)
178  return QVariant();
179 
180  return box->itemData(idx);
181 }

◆ changeEvent()

void VideoSettings::changeEvent ( QEvent *  e)
protected

Références ui.

110 {
111  QDialog::changeEvent(e);
112  switch (e->type()) {
113  case QEvent::LanguageChange:
114  ui->retranslateUi(this);
115  break;
116  default:
117  break;
118  }
119 }
Ui::VideoSettingsUi * ui
Definition: videosettings.h:78

◆ format()

QString VideoSettings::format ( ) const

Références boxValue(), et ui.

Référencé par Camera::configureVideoSettings(), et VideoSettings().

165 {
166  return boxValue(ui->containerFormatBox).toString();
167 }
Ui::VideoSettingsUi * ui
Definition: videosettings.h:78
QVariant boxValue(const QComboBox *) const
Definition: videosettings.cpp:174

◆ selectComboBoxItem()

void VideoSettings::selectComboBoxItem ( QComboBox *  box,
const QVariant &  value 
)
private

Référencé par setAudioSettings(), setFormat(), et setVideoSettings().

184 {
185  for (int i = 0; i < box->count(); ++i) {
186  if (box->itemData(i) == value) {
187  box->setCurrentIndex(i);
188  break;
189  }
190  }
191 }

◆ setAudioSettings()

void VideoSettings::setAudioSettings ( const QAudioEncoderSettings &  audioSettings)

Références selectComboBoxItem(), et ui.

Référencé par Camera::configureVideoSettings().

131 {
132  selectComboBoxItem(ui->audioCodecBox, QVariant(audioSettings.codec()));
133  selectComboBoxItem(ui->audioSampleRateBox, QVariant(audioSettings.sampleRate()));
134  ui->audioQualitySlider->setValue(audioSettings.quality());
135 }
Ui::VideoSettingsUi * ui
Definition: videosettings.h:78
void selectComboBoxItem(QComboBox *box, const QVariant &value)
Definition: videosettings.cpp:183
QAudioEncoderSettings audioSettings() const
Definition: videosettings.cpp:121

◆ setFormat()

void VideoSettings::setFormat ( const QString &  format)

Références selectComboBoxItem(), et ui.

Référencé par Camera::configureVideoSettings().

170 {
171  selectComboBoxItem(ui->containerFormatBox, QVariant(format));
172 }
QString format() const
Definition: videosettings.cpp:164
Ui::VideoSettingsUi * ui
Definition: videosettings.h:78
void selectComboBoxItem(QComboBox *box, const QVariant &value)
Definition: videosettings.cpp:183

◆ setVideoSettings()

void VideoSettings::setVideoSettings ( const QVideoEncoderSettings &  videoSettings)

Références selectComboBoxItem(), et ui.

Référencé par Camera::configureVideoSettings().

149 {
150  selectComboBoxItem(ui->videoCodecBox, QVariant(videoSettings.codec()));
151  selectComboBoxItem(ui->videoResolutionBox, QVariant(videoSettings.resolution()));
152  ui->videoQualitySlider->setValue(videoSettings.quality());
153 
154  //special case for frame rate
155  for (int i = 0; i < ui->videoFramerateBox->count(); ++i) {
156  qreal itemRate = ui->videoFramerateBox->itemData(i).value<qreal>();
157  if (qFuzzyCompare(itemRate, videoSettings.frameRate())) {
158  ui->videoFramerateBox->setCurrentIndex(i);
159  break;
160  }
161  }
162 }
Ui::VideoSettingsUi * ui
Definition: videosettings.h:78
QVideoEncoderSettings videoSettings() const
Definition: videosettings.cpp:137
void selectComboBoxItem(QComboBox *box, const QVariant &value)
Definition: videosettings.cpp:183

◆ videoSettings()

QVideoEncoderSettings VideoSettings::videoSettings ( ) const

Références boxValue(), mediaRecorder, et ui.

Référencé par Camera::configureVideoSettings().

138 {
139  QVideoEncoderSettings settings = mediaRecorder->videoSettings();
140  settings.setCodec(boxValue(ui->videoCodecBox).toString());
141  settings.setQuality(QMultimedia::EncodingQuality(ui->videoQualitySlider->value()));
142  settings.setResolution(boxValue(ui->videoResolutionBox).toSize());
143  settings.setFrameRate(boxValue(ui->videoFramerateBox).value<qreal>());
144 
145  return settings;
146 }
QMediaRecorder * mediaRecorder
Definition: videosettings.h:79
Ui::VideoSettingsUi * ui
Definition: videosettings.h:78
QVariant boxValue(const QComboBox *) const
Definition: videosettings.cpp:174

Documentation des données membres

◆ mediaRecorder

QMediaRecorder* VideoSettings::mediaRecorder
private

Référencé par audioSettings(), et videoSettings().

◆ ui

Ui::VideoSettingsUi* VideoSettings::ui
private

La documentation de cette classe a été générée à partir des fichiers suivants :