Spec-Zone.ru › Qt 5.11

Класс 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
  • 1 свойство унаследовано от QObject

Публичные функции

QMediaRecorder(QMediaObject *mediaObject, QObject *parent = nullptr)
virtual ~QMediaRecorder()
QUrl actualLocation() const

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

virtual QMediaObject * mediaObject() const override
  • 34 публичных функции унаследованы от QObject
  • 1 публичная функция унаследована от QMediaBindableInterface

Публичные слоты

void pause()
void record()
void setMuted(bool muted)
void setVolume(qreal volume)
void stop()
  • 1 public slot inherited from QObject

Сигналы

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

Дополнительные унаследованные члены

  • 1 public переменная унаследованная от QObject
  • 10 static public members inherited from QObject
  • 9 protected functions inherited from QObject
  • 1 protected function inherited from QMediaBindableInterface
  • 2 protected variables inherited from QObject

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

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

Класс 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

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

Свойство состояния отражает запрос пользователя и изменяется синхронно во время вызовов 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.

[virtual] QMediaRecorder::~QMediaRecorder()

Удаляет объект записывателя медиа.

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

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

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

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

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

QAudioEncoderSettings QMediaRecorder::audioSettings() const

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

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

QMultimedia::AvailabilityStatus QMediaRecorder::availability() const

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

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

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

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

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

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

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

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

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

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

QStringList QMediaRecorder::availableMetaData() const

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

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

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

QString QMediaRecorder::containerFormat() const

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

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

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

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

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

QMediaRecorder::Error QMediaRecorder::error() const

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

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

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

Сигнализирует о возникновении ошибки.

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

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

QString QMediaRecorder::errorString() const

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

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

bool QMediaRecorder::isAvailable() const

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

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

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

Переопределено из QMediaBindableInterface::mediaObject().

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

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

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

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

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

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

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

[signal] void QMediaRecorder::metaDataChanged()

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

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

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

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

[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::metaDataWritableChanged(bool writable)

Сигнализирует о том, что состояние 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.

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.

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

Сигналы, что состояние медиазаписейсостояние изменилось.

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

QMediaRecorder::Статус QMediaRecorder::status() const

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

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

См. также QMediaRecorder::Статус.

[slot] void QMediaRecorder::stop()

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

Состояние записи изменяется на QMediaRecorder::StoppedState.

QStringList QMediaRecorder::supportedAudioCodecs() const

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

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

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

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

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

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

QStringList QMediaRecorder::supportedContainers() const

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

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

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

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

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

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

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

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

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

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

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

QStringList QMediaRecorder::supportedVideoCodecs() const

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

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

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

См. также 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/archives/qt-5.11/qmediarecorder.html

Spec-Zone.ru

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