Класс QMediaObject
Класс QMediaObject предоставляет общий базовый класс для мультимедийных объектов. Подробнее...
| Заголовок: | #include <QMediaObject> |
| qmake: | QT += multimedia |
| Наследует: | QObject |
| Наследуется от: |
Свойства
- notifyInterval : int
Открытые функции
| virtual | ~QMediaObject() |
| virtual QMultimedia::AvailabilityStatus | availability() const |
| QStringList | availableMetaData() const |
| virtual bool | bind(QObject *object) |
| virtual bool | isAvailable() const |
| bool | isMetaDataAvailable() const |
| QVariant | metaData(const QString &key) const |
| int | notifyInterval() const |
| virtual QMediaService * | service() const |
| void | setNotifyInterval(int milliSeconds) |
| virtual void | unbind(QObject *object) |
Сигналы
| void | availabilityChanged(QMultimedia::AvailabilityStatus availability) |
| void | availabilityChanged(bool available) |
| void | metaDataAvailableChanged(bool available) |
| void | metaDataChanged(const QString &key, const QVariant &value) |
| void | metaDataChanged() |
| void | notifyIntervalChanged(int milliseconds) |
Защищенные функции
| QMediaObject(QObject *parent, QMediaService *service) | |
| void | addPropertyWatch(const QByteArray &name) |
| void | removePropertyWatch(const QByteArray &name) |
Подробное описание
Он предоставляет некоторые базовые функции, которые являются общими для других классов высокого уровня, таких как QMediaPlayer, QAudioDecoder и QCamera, включая функциональность доступности и метаданных, а также функциональность для подключения мультимедийных объектов к вспомогательным классам, таким как QMediaPlaylist.
Классы, производные от QMediaObject более высокого уровня, обеспечивают фактическую функциональность мультимедиа, используя внутри QMediaService. Каждый мультимедийный объект содержит QMediaService и использует интерфейсы QMediaControl, реализованные службой, для реализации своего API. К этим управлениям можно получить доступ из объекта мультимедиа при необходимости, но в целом полезную функциональность можно получить из классов более высокого уровня.
Большинство мультимедийных объектов при создании запросят новый экземпляр QMediaService, но некоторые, такие как QMediaRecorder и QAudioRecorder, будут совместно использовать службу с другим объектом.
См. также QMediaService и QMediaControl.
Документация по свойствам
notifyInterval : int
Интервал, через который будут обновляться уведомляемые свойства.
Интервал выражен в миллисекундах, значение по умолчанию равно 1000.
Функции доступа:
| int | notifyInterval() const |
| void | setNotifyInterval(int milliSeconds) |
Сигнал оповещения:
| void | notifyIntervalChanged(int milliseconds) |
См. также addPropertyWatch() и removePropertyWatch().
Документация по функциям-членам
[protected] QMediaObject::QMediaObject(QObject *parent, QMediaService *service)
Создаёт объект мультимедиа, который использует функциональность, предоставляемую службой service.
parent передаётся в QObject.
Этот класс предназначен как базовый класс для мультимедийных объектов, поэтому этот конструктор защищён.
[signal] void QMediaObject::availabilityChanged(QMultimedia::AvailabilityStatus availability)
Сигнал генерируется, когда состояние доступности службы изменилось на availability.
Примечание: Сигнал availabilityChanged перегружен в этом классе. Для подключения к этому сигналу с использованием синтаксиса указателя на функцию Qt предоставляет удобную вспомогательную функцию для получения указателя на функцию, как показано в этом примере:
connect(mediaObject, QOverload<QMultimedia::AvailabilityStatus>::of(&QMediaObject::availabilityChanged),
[=](QMultimedia::AvailabilityStatus availability){ /* ... */ });
[signal] void QMediaObject::availabilityChanged(bool available)
Сигнал генерируется, когда состояние доступности изменилось на available.
Примечание: Сигнал availabilityChanged перегружен в этом классе. Для подключения к этому сигналу с использованием синтаксиса указателя на функцию Qt предоставляет удобную вспомогательную функцию для получения указателя на функцию, как показано в этом примере:
connect(mediaObject, QOverload<bool>::of(&QMediaObject::availabilityChanged),
[=](bool available){ /* ... */ });
[signal] void QMediaObject::metaDataAvailableChanged(bool available)
Сигнализирует о том, что состояние available метаданных объекта мультимедиа изменилось.
[signal] void QMediaObject::metaDataChanged(const QString &key, const QVariant &value)
Сигнализирует о изменении элемента метаданных value с заданным ключом key.
Примечание: Сигнал metaDataChanged перегружен в этом классе. Для подключения к этому сигналу с использованием синтаксиса указателя на функцию Qt предоставляет удобную вспомогательную функцию для получения указателя на функцию, как показано в этом примере:
connect(mediaObject, QOverload<const QString &, const QVariant &>::of(&QMediaObject::metaDataChanged),
[=](const QString &key, const QVariant &value){ /* ... */ });
[signal] void QMediaObject::metaDataChanged()
Сигнализирует о том, что метаданные этого объекта мультимедиа изменились.
Если несколько элементов метаданных изменены, сигнал metaDataChanged(const QString &key, const QVariant &value) генерируется для каждого из них, а сигнал metaDataChanged() генерируется один раз.
Примечание: Сигнал metaDataChanged перегружен в этом классе. Для подключения к этому сигналу с использованием синтаксиса указателя на функцию Qt предоставляет удобную вспомогательную функцию для получения указателя на функцию, как показано в этом примере:
connect(mediaObject, QOverload<>::of(&QMediaObject::metaDataChanged),
[=](){ /* ... */ });
[signal] void QMediaObject::notifyIntervalChanged(int milliseconds)
Сигнализирует о изменении интервала оповещения на milliseconds.
Примечание: Сигнал оповещения для свойства notifyInterval.
[virtual] QMediaObject::~QMediaObject()
Уничтожает этот объект медиаданных.
[protected] void QMediaObject::addPropertyWatch(const QByteArray &name)
Отслеживать свойство name. Сигнал уведомления о свойстве будет испускаться один раз каждые notifyInterval миллисекунд.
См. также notifyInterval.
[virtual] QMultimedia::AvailabilityStatus QMediaObject::availability() const
Возвращает доступность функциональности, предоставляемой этим объектом.
В некоторых случаях функциональность может быть недоступна (например, если текущая операционная система или платформа не предоставляют необходимую функциональность) или временно недоступна (например, воспроизведение аудио во время телефонного звонка или аналогичных действий).
QStringList QMediaObject::availableMetaData() const
Возвращает список ключей, для которых доступны метаданные.
[virtual] bool QMediaObject::bind(QObject *object)
Связать object с этим экземпляром QMediaObject.
Этот метод устанавливает взаимосвязь между этим объектом медиаданных и вспомогательным объектом. Характер взаимосвязи зависит от обеих сторон. Данный метод возвращает true, если вспомогательный объект был успешно связан, и false в противном случае.
Большинство подклассов QMediaObject предоставляют более удобные функции, которые оборачивают эту функциональность, поэтому эту функцию редко нужно вызывать напрямую.
Передаваемый объект должен реализовывать интерфейс QMediaBindableInterface.
См. также QMediaBindableInterface.
[virtual] bool QMediaObject::isAvailable() const
Возвращает true, если служба доступна для использования.
bool QMediaObject::isMetaDataAvailable() const
Возвращает true, если с этим объектом медиаданных связаны метаданные, иначе false.
QVariant QMediaObject::metaData(const QString &key) const
Возвращает значение, связанное с метаданными key.
См. список предопределенных ключей метаданных.
[protected] void QMediaObject::removePropertyWatch(const QByteArray &name)
Удалить свойство name из списка свойств, изменения которых регулярно сигнализируются.
См. также notifyInterval.
[virtual] QMediaService *QMediaObject::service() const
Возвращает службу мультимедиа, которая предоставляет функциональность этого объекта мультимедиа.
[virtual] void QMediaObject::unbind(QObject *object)
Отключить object от экземпляра QMediaObject.
Отвязать вспомогательный объект от этого объекта медиаданных. Если объект не был ранее привязан к этому объекту, будет выведено предупреждение.
См. также QMediaBindableInterface.
© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-5.14/qmediaobject.html