Spec-Zone.ru › Qt 5.14

Класс QMediaRecorder

Класс QMediaRecorder используется для записи медиа-контента. Подробнее...

Заголовок: #include <QMediaRecorder>
qmake: QT += multimedia
Наследует: QObject и QMediaBindableInterface
Наследуется от:

QAudioRecorder

  • Список всех членов, включая наследуемые

Открытые типы

Перечисление Ошибка { НетОшибки, ОшибкаРесурса, ОшибкаФормата, ОшибкаНедостаточногоМесто }
Перечисление Состояние { СостояниеОстановлено, СостояниеЗаписи, СостояниеПриостановлено }
Перечисление Статус { СтатусНеДоступен, СтатусНеЗагружен, СтатусЗагрузки, СтатусЗагружен, СтатусЗапуска, …, СтатусЗавершения }

Свойства

  • actualLocation : const QUrl
  • duration : const qint64
  • metaDataAvailable : const bool
  • metaDataWritable : const bool
  • muted : bool
  • outputLocation : QUrl
  • state : const QMediaRecorder::State
  • status : const QMediaRecorder::Status
  • volume : qreal

Открытые функции

QMediaRecorder(QMediaObject *mediaObject, QObject *parent = nullptr)
virtual ~QMediaRecorder()
QUrl actualLocation() const
QString audioCodecDescription(const QString &codec) const
QAudioEncoderSettings audioSettings() const
QMultimedia::AvailabilityStatus availability() const
QStringList availableMetaData() const
QString containerDescription(const QString &format) const
QString containerFormat() const
qint64 duration() const
QMediaRecorder::Error error() const
QString errorString() const
bool isAvailable() const
bool isMetaDataAvailable() const
bool isMetaDataWritable() const
bool isMuted() const
QVariant metaData(const QString &key) const
QUrl outputLocation() const
void setAudioSettings(const QAudioEncoderSettings &settings)
void setContainerFormat(const QString &container)
void setEncodingSettings(const QAudioEncoderSettings &audio, const QVideoEncoderSettings &video = QVideoEncoderSettings(), const QString &container = QString())
void setMetaData(const QString &key, const QVariant &value)
bool setOutputLocation(const QUrl &location)
void setVideoSettings(const QVideoEncoderSettings &settings)
QMediaRecorder::State state() const
QMediaRecorder::Status status() const
QStringList supportedAudioCodecs() const
QList<int> supportedAudioSampleRates(const QAudioEncoderSettings &settings = QAudioEncoderSettings(), bool *continuous = nullptr) const
QStringList supportedContainers() const
QList<qreal> supportedFrameRates(const QVideoEncoderSettings &settings = QVideoEncoderSettings(), bool *continuous = nullptr) const
QList<QSize> supportedResolutions(const QVideoEncoderSettings &settings = QVideoEncoderSettings(), bool *continuous = nullptr) const
QStringList supportedVideoCodecs() const
QString videoCodecDescription(const QString &codec) const
QVideoEncoderSettings videoSettings() const
qreal volume() const

Переопределённые открытые функции

virtual QMediaObject * mediaObject() const override

Открытые слоты

void pause()
void record()
void setMuted(bool muted)
void setVolume(qreal volume)
void stop()

Сигналы

void actualLocationChanged(const QUrl &location)
void availabilityChanged(QMultimedia::AvailabilityStatus availability)
void availabilityChanged(bool available)
void durationChanged(qint64 duration)
void error(QMediaRecorder::Error error)
void metaDataAvailableChanged(bool available)
void metaDataChanged(const QString &key, const QVariant &value)
void metaDataChanged()
void metaDataWritableChanged(bool writable)
void mutedChanged(bool muted)
void stateChanged(QMediaRecorder::State state)
void statusChanged(QMediaRecorder::Status status)
void volumeChanged(qreal volume)

Подробное описание

Класс QMediaRecorder — это класс для записи медиа высокого уровня. Он не предназначен для использования самостоятельно, а для доступа к функциям записи медиа других объектов медиа, таких как QRadioTuner или QCamera.

recorder = new QMediaRecorder(camera);

QAudioEncoderSettings audioSettings;
audioSettings.setCodec("audio/amr");
audioSettings.setQuality(QMultimedia::HighQuality);

recorder->setAudioSettings(audioSettings);

recorder->setOutputLocation(QUrl::fromLocalFile(fileName));
recorder->record();

См. также QAudioRecorder.

Документация по типам членов

Перечисление QMediaRecorder::Error

Постоянная Значение Описание
QMediaRecorder::NoError 0 Без ошибок.
QMediaRecorder::ResourceError 1 Устройство не готово или недоступно.
QMediaRecorder::FormatError 2 Текущий формат не поддерживается.
QMediaRecorder::OutOfSpaceError 3 На устройстве закончилось место.

Перечисление QMediaRecorder::State

Постоянная Значение Описание
QMediaRecorder::StoppedState 0 Запись не активна. Если это состояние после записи, то фактическая созданная запись завершила запись в конечное местоположение и готова на всех платформах, кроме Android. На Android из-за ограничений платформы нет способа гарантировать, что запись завершила запись в конечное местоположение.
QMediaRecorder::RecordingState 1 Запись запрошена.
QMediaRecorder::PausedState 2 Запись приостановлена.

Перечисление QMediaRecorder::Status

Постоянная Значение Описание
QMediaRecorder::UnavailableStatus 0 Запись недоступна или не поддерживается подключенным объектом медиа.
QMediaRecorder::UnloadedStatus 1 Запись доступна, но не загружена.
QMediaRecorder::LoadingStatus 2 Инициализация записи.
QMediaRecorder::LoadedStatus 3 Запись инициализирована и готова к записи медиа.
QMediaRecorder::StartingStatus 4 Запись запрошена, но еще не активна.
QMediaRecorder::RecordingStatus 5 Запись активна.
QMediaRecorder::PausedStatus 6 Запись приостановлена.
QMediaRecorder::FinalizingStatus 7 Запись остановлена, медиа завершается.

Документация свойств

actualLocation : const QUrl

Это свойство содержит фактическое расположение последнего медиаконтента.

Фактическое расположение обычно доступно после начала записи и сбрасывается при установке нового расположения или начале новой записи.

Функции доступа:

QUrl actualLocation() const

Сигнал уведомления:

void actualLocationChanged(const QUrl &location)

duration : const qint64

Это свойство содержит длительность записанного медиа в миллисекундах.

Функции доступа:

qint64 duration() const

Сигнал уведомления:

void durationChanged(qint64 duration)

metaDataAvailable : const bool

Это свойство содержит информацию о доступности доступа к метаданным объекта медиа.

Если это true, метаданные доступны, в противном случае метаданных нет.

Функции доступа:

bool isMetaDataAvailable() const

Сигнал уведомления:

void metaDataAvailableChanged(bool available)

metaDataWritable : const bool

Это свойство содержит информацию о возможности записи метаданных объекта медиа.

Если это true, метаданные могут быть записаны, в противном случае метаданные только для чтения.

Функции доступа:

bool isMetaDataWritable() const

Сигнал уведомления:

void metaDataWritableChanged(bool writable)

muted : bool

Это свойство указывает, заглушен ли аудиопоток записи.

Функции доступа:

bool isMuted() const
void setMuted(bool muted)

Сигнал уведомления:

void mutedChanged(bool muted)

outputLocation : QUrl

Это свойство содержит местоположение назначения медиаконтента.

Установка местоположения может завершиться ошибкой, например, если служба поддерживает только расположения локальной файловой системы, но был передан URL сети. Если служба не поддерживает запись медиа, установка местоположения вывода всегда завершится ошибкой.

location может быть относительным или пустым; в этом случае рекордер использует специфичный для системы способ определения места и именования файлов. После начала записи QMediaRecorder::outputLocation() возвращает фактическое местоположение вывода.

Функции доступа:

QUrl outputLocation() const
bool setOutputLocation(const QUrl &location)

state : const QMediaRecorder::State

Это свойство содержит текущее состояние рекордера медиа.

Свойство state отражает пользовательский запрос и изменяется синхронно во время вызовов record(), pause() или stop(). Состояние рекордера может также изменяться асинхронно при сбое записи.

Функции доступа:

QMediaRecorder::State state() const

Сигнал уведомления:

void stateChanged(QMediaRecorder::State state)

status : const QMediaRecorder::Status

Это свойство содержит текущий статус рекордера медиа.

Статус изменяется асинхронно и представляет фактическое состояние рекордера медиа.

Функции доступа:

QMediaRecorder::Status status() const

Сигнал уведомления:

void statusChanged(QMediaRecorder::Status status)

volume : qreal

Это свойство содержит текущий объем аудиозаписи.

Объем масштабируется линейно от 0.0 (тишина) до 1.0 (полная громкость). Значения вне этого диапазона будут ограничены.

Значение по умолчанию равно 1.0.

Элементы управления громкостью в пользовательском интерфейсе обычно масштабируются нелинейно. Например, использование логарифмической шкалы обеспечит линейные изменения в восприятии громкости, что обычно ожидается от элемента управления громкостью. Дополнительные сведения см. в QAudio::convertVolume().

Функции доступа:

qreal volume() const
void setVolume(qreal volume)

Сигнал уведомления:

void volumeChanged(qreal volume)

Документация функций-членов

QMediaRecorder::QMediaRecorder(QMediaObject *mediaObject, QObject *parent = nullptr)

Создает рекордер медиа, который записывает медиа, создаваемое объектом mediaObject.

parent передается объекту QMediaObject.

[signal] void QMediaRecorder::actualLocationChanged(const QUrl &location)

Сигнализирует о том, что фактическое location записанного медиа изменилось. Этот сигнал обычно испускается при запуске записи.

Примечание: Сигнал уведомления для свойства actualLocation.

[signal] void QMediaRecorder::availabilityChanged(QMultimedia::AvailabilityStatus availability)

Сигнализирует о том, что доступность службы изменилась на availability.

Примечание: Сигнал availabilityChanged перегружен в этом классе. Для подключения к этому сигналу с помощью синтаксиса указателя на функцию Qt предоставляет удобный помощник для получения указателя на функцию, как показано в этом примере:

connect(mediaRecorder, QOverload<QMultimedia::AvailabilityStatus>::of(&QMediaRecorder::availabilityChanged),
    [=](QMultimedia::AvailabilityStatus availability){ /* ... */ });

[signal] void QMediaRecorder::availabilityChanged(bool available)

Сигнализирует о том, что рекордер медиа теперь доступен (если available true) или нет.

Примечание: Сигнал availabilityChanged перегружен в этом классе. Для подключения к этому сигналу с помощью синтаксиса указателя на функцию Qt предоставляет удобный помощник для получения указателя на функцию, как показано в этом примере:

connect(mediaRecorder, QOverload<bool>::of(&QMediaRecorder::availabilityChanged),
    [=](bool available){ /* ... */ });

[signal] void QMediaRecorder::durationChanged(qint64 duration)

Сигнализирует о том, что продолжительность записанного медиа изменилась.

Примечание: Сигнал уведомления для свойства duration.

[signal] void QMediaRecorder::error(QMediaRecorder::Error error)

Сигнализирует о том, что произошла ошибка error.

Примечание: Сигнал error перегружен в этом классе. Для подключения к этому сигналу с помощью синтаксиса указателя на функцию Qt предоставляет удобный помощник для получения указателя на функцию, как показано в этом примере:

connect(mediaRecorder, QOverload<QMediaRecorder::Error>::of(&QMediaRecorder::error),
    [=](QMediaRecorder::Error error){ /* ... */ });

[signal] void QMediaRecorder::metaDataAvailableChanged(bool available)

Сигнализирует о том, что состояние доступности метаданных объекта медиа изменилось.

Примечание: Сигнал-уведомление для свойства metaDataAvailable.

[signal] void QMediaRecorder::metaDataChanged(const QString &key, const QVariant &value)

Сигнализирует о изменении элемента метаданных value с заданным key.

Примечание: Сигнал metaDataChanged перегружен в этом классе. Для подключения к этому сигналу с помощью синтаксиса указателя на функцию Qt предоставляет удобную функцию получения указателя на функцию, как показано в этом примере:

connect(mediaRecorder, QOverload<const QString &, const QVariant &>::of(&QMediaRecorder::metaDataChanged),
    [=](const QString &key, const QVariant &value){ /* ... */ });

[signal] void QMediaRecorder::metaDataChanged()

Сигнализирует о том, что метаданные объекта медиа изменились.

Если несколько элементов метаданных изменены, сигнал metaDataChanged(const QString &key, const QVariant &value) генерируется для каждого из них, а сигнал metaDataChanged() генерируется один раз.

Примечание: Сигнал metaDataChanged перегружен в этом классе. Для подключения к этому сигналу с помощью синтаксиса указателя на функцию Qt предоставляет удобную функцию получения указателя на функцию, как показано в этом примере:

connect(mediaRecorder, QOverload<>::of(&QMediaRecorder::metaDataChanged),
    [=](){ /* ... */ });

[signal] void QMediaRecorder::metaDataWritableChanged(bool writable)

Сигнализирует о том, что состояние записи метаданных объекта медиа изменилось.

Примечание: Сигнал-уведомление для свойства metaDataWritable.

[signal] void QMediaRecorder::mutedChanged(bool muted)

Сигнализирует об изменении состояния muted. Если значение true, запись выключена.

Примечание: Сигнал-уведомление для свойства muted.

[slot] void QMediaRecorder::pause()

Приостановить запись.

Состояние рекордера меняется на QMediaRecorder::PausedState.

В зависимости от платформы, приостановка записи может быть не поддерживается, в этом случае состояние рекордера остаётся неизменным.

[slot] void QMediaRecorder::record()

Начать запись.

Хотя состояние рекордера сразу меняется на QMediaRecorder::RecordingState, запись может начаться асинхронно, с сигналом statusChanged(QMediaRecorder::RecordingStatus), отправленным при запуске записи.

Если запись завершается неудачно, сигнал error() отправляется со сбросом состояния рекордера обратно на QMediaRecorder::StoppedState.

[signal] void QMediaRecorder::stateChanged(QMediaRecorder::State state)

Сигнализирует о том, что состояние рекордера медиа изменилось.

Примечание: Сигнал-уведомление для свойства state.

[slot] void QMediaRecorder::stop()

Остановить запись.

Состояние рекордера изменяется на QMediaRecorder::StoppedState.

[virtual] QMediaRecorder::~QMediaRecorder()

Уничтожает объект рекордера медиа.

QString QMediaRecorder::audioCodecDescription(const QString &codec) const

Возвращает описание аудио кодека.

QAudioEncoderSettings QMediaRecorder::audioSettings() const

Возвращает настройки аудиокодера, используемые в данный момент.

См. также setAudioSettings() и setEncodingSettings().

QMultimedia::AvailabilityStatus QMediaRecorder::availability() const

Возвращает доступность данной функциональности.

См. также availabilityChanged().

QStringList QMediaRecorder::availableMetaData() const

Возвращает список ключей, для которых доступны метаданные.

QString QMediaRecorder::containerDescription(const QString &format) const

Возвращает описание контейнера format.

QString QMediaRecorder::containerFormat() const

Возвращает выбранный формат контейнера.

См. также setContainerFormat().

QMediaRecorder::Error QMediaRecorder::error() const

Возвращает текущее состояние ошибки.

См. также errorString().

QString QMediaRecorder::errorString() const

Возвращает строку, описывающую текущее состояние ошибки.

См. также error().

bool QMediaRecorder::isAvailable() const

Возвращает true, если служба рекордера медиа готова к использованию.

См. также availabilityChanged().

[override virtual] QMediaObject *QMediaRecorder::mediaObject() const

Переопределяет: QMediaBindableInterface::mediaObject() const.

Возвращает экземпляр QMediaObject, к которому привязан данный QMediaRecorder, или 0 в противном случае.

QVariant QMediaRecorder::metaData(const QString &key) const

Возвращает значение, связанное с ключом метаданных key.

См. также setMetaData().

void QMediaRecorder::setAudioSettings(const QAudioEncoderSettings &settings)

Устанавливает настройки аудиокодера settings.

Если некоторые параметры не указаны или передан null, кодер выберет параметры кодирования по умолчанию, в зависимости от свойств источника медиа.

Изменение настроек возможно только когда кодер находится в состоянии QMediaEncoder::StoppedState.

См. также audioSettings(), videoSettings() и containerFormat().

void QMediaRecorder::setContainerFormat(const QString &container)

Устанавливает формат контейнера медиа container.

Если формат контейнера не указан, кодер выберет формат по умолчанию, в зависимости от свойств источника медиа и выбранных настроек кодирования.

Изменение настроек возможно только когда кодер находится в состоянии QMediaEncoder::StoppedState.

См. также audioSettings(), videoSettings() и containerFormat().

void QMediaRecorder::setEncodingSettings(const QAudioEncoderSettings &audio, const QVideoEncoderSettings &video = QVideoEncoderSettings(), const QString &container = QString())

Устанавливает настройки кодировщиков audio и video, а также формат контейнера container.

Если некоторые параметры не указаны или передан null, кодер выберет параметры кодирования по умолчанию, в зависимости от свойств источника медиа.

Изменение настроек возможно только когда кодер находится в состоянии QMediaEncoder::StoppedState.

См. также audioSettings(), videoSettings() и containerFormat().

void QMediaRecorder::setMetaData(const QString &key, const QVariant &value)

Устанавливает значение value для ключа метаданных key.

Примечание: Для правильной установки метаданных, их следует задавать до начала записи. После остановки записи, установленные метаданные будут присоединены к следующей записи.

См. также metaData().

void QMediaRecorder::setVideoSettings(const QVideoEncoderSettings &settings)

Устанавливает настройки видеокодера settings.

Если некоторые параметры не указаны или передан null, кодер выберет параметры кодирования по умолчанию, в зависимости от свойств источника медиа.

Изменение настроек возможно только когда кодер находится в состоянии QMediaEncoder::StoppedState.

См. также audioSettings(), videoSettings() и containerFormat().

QMediaRecorder::State QMediaRecorder::state() const

Возвращает текущее состояние медиа-регистратора.

Примечание: Функция-геттер для свойства state.

См. также QMediaRecorder::State.

QMediaRecorder::Status QMediaRecorder::status() const

Возвращает текущий статус медиа-регистратора.

Примечание: Функция-геттер для свойства status.

См. также QMediaRecorder::Status.

QStringList QMediaRecorder::supportedAudioCodecs() const

Возвращает список поддерживаемых аудио кодеков.

QList<int> QMediaRecorder::supportedAudioSampleRates(const QAudioEncoderSettings &settings = QAudioEncoderSettings(), bool *continuous = nullptr) const

Возвращает список поддерживаемых частот дискретизации аудио.

Если не нулевой параметр settings аудио передан, возвращаемый список уменьшается до частот дискретизации, поддерживаемых с частично применёнными настройками.

Это можно использовать для запроса списка частот дискретизации, поддерживаемых конкретным аудио кодеком.

Если кодек поддерживает произвольные частоты дискретизации в диапазоне поддерживаемых частот, *continuous устанавливается в true, в противном случае *continuous устанавливается в false.

QStringList QMediaRecorder::supportedContainers() const

Возвращает список поддерживаемых форматов контейнеров.

QList<qreal> QMediaRecorder::supportedFrameRates(const QVideoEncoderSettings &settings = QVideoEncoderSettings(), bool *continuous = nullptr) const

Возвращает список частот кадров, на которых видео может быть закодировано.

Если не нулевой параметр settings видео передан, возвращаемый список уменьшается до частот кадров, поддерживаемых с частично применёнными настройками, такими как кодек видео или разрешение.

Если кодек поддерживает произвольные частоты кадров в поддерживаемом диапазоне, *continuous устанавливается в true, в противном случае *continuous устанавливается в false.

См. также QVideoEncoderSettings::frameRate().

QList<QSize> QMediaRecorder::supportedResolutions(const QVideoEncoderSettings &settings = QVideoEncoderSettings(), bool *continuous = nullptr) const

Возвращает список разрешений, на которых видео может быть закодировано.

Если не нулевой параметр settings видео передан, возвращаемый список уменьшается до разрешений, поддерживаемых с частично применёнными настройками, такими как кодек видео или частота кадров.

Если кодек поддерживает произвольные разрешения в поддерживаемом диапазоне, *continuous устанавливается в true, в противном случае *continuous устанавливается в false.

См. также QVideoEncoderSettings::resolution().

QStringList QMediaRecorder::supportedVideoCodecs() const

Возвращает список поддерживаемых видео кодеков.

QString QMediaRecorder::videoCodecDescription(const QString &codec) const

Возвращает описание видео кодека.

См. также setEncodingSettings().

QVideoEncoderSettings QMediaRecorder::videoSettings() const

Возвращает настройки видео кодека, используемые в данный момент.

См. также setVideoSettings() и setEncodingSettings().

© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-5.14/qmediarecorder.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API