The QMediaObject class provides a common base for multimedia objects. More...
Header: | #include <QMediaObject> |
qmake: | QT += multimedia |
Inherits: | QObject |
Inherited By: |
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(bool available) |
void | availabilityChanged(QMultimedia::AvailabilityStatus availability) |
void | metaDataAvailableChanged(bool available) |
void | metaDataChanged() |
void | metaDataChanged(const QString &key, const QVariant &value) |
void | notifyIntervalChanged(int milliseconds) |
QMediaObject(QObject *parent, QMediaService *service) | |
void | addPropertyWatch(const QByteArray &name) |
void | removePropertyWatch(const QByteArray &name) |
The QMediaObject class provides a common base for multimedia objects.
It provides some basic functionality that is common to other high level classes like QMediaPlayer, QAudioDecoder and QCamera, including availability and meta-data functionality, as well as functionality to connect media objects with support classes like QMediaPlaylist.
The higher level QMediaObject derived classes provide the actual multimedia functionality, by internally using a QMediaService. Each media object hosts a QMediaService and uses the QMediaControl interfaces implemented by the service to implement its API. These controls can be accessed from the media object if necessary, but in general the useful functionality can be accessed from the higher level classes.
Most media objects when constructed will request a new QMediaService instance, but some like QMediaRecorder and QAudioRecorder will share a service with another object.
See also QMediaService and QMediaControl.
The interval at which notifiable properties will update.
The interval is expressed in milliseconds, the default value is 1000.
Access functions:
int | notifyInterval() const |
void | setNotifyInterval(int milliSeconds) |
Notifier signal:
void | notifyIntervalChanged(int milliseconds) |
See also addPropertyWatch() and removePropertyWatch().
[protected]
QMediaObject::QMediaObject(QObject *parent, QMediaService *service)Constructs a media object which uses the functionality provided by a media service.
The parent is passed to QObject.
This class is meant as a base class for multimedia objects so this constructor is protected.
[virtual]
QMediaObject::~QMediaObject()Destroys this media object.
[protected]
void QMediaObject::addPropertyWatch(const QByteArray &name)Watch the property name. The property's notify signal will be emitted once every notifyInterval
milliseconds.
See also notifyInterval.
[virtual]
QMultimedia::AvailabilityStatus QMediaObject::availability() constReturns the availability of the functionality offered by this object.
In some cases the functionality may not be available (for example, if the current operating system or platform does not provide the required functionality), or it may be temporarily unavailable (for example, audio playback during a phone call or similar).
[signal]
void QMediaObject::availabilityChanged(bool available)Signal emitted when the availability state has changed to available.
Note: Signal availabilityChanged is overloaded in this class. To connect to this signal by using the function pointer syntax, Qt provides a convenient helper for obtaining the function pointer as shown in this example:
connect(mediaObject, QOverload<bool>::of(&QMediaObject::availabilityChanged), [=](bool available){ /* ... */ });
[signal]
void QMediaObject::availabilityChanged(QMultimedia::AvailabilityStatus availability)Signal emitted when the availability of the service has changed to availability.
Note: Signal availabilityChanged is overloaded in this class. To connect to this signal by using the function pointer syntax, Qt provides a convenient helper for obtaining the function pointer as shown in this example:
connect(mediaObject, QOverload<QMultimedia::AvailabilityStatus>::of(&QMediaObject::availabilityChanged), [=](QMultimedia::AvailabilityStatus availability){ /* ... */ });
Returns a list of keys there is meta-data available for.
[virtual]
bool QMediaObject::bind(QObject
*object)Bind object to this QMediaObject instance.
This method establishes a relationship between this media object and a helper object. The nature of the relationship depends on both parties. This methods returns true if the helper was successfully bound, false otherwise.
Most subclasses of QMediaObject provide more convenient functions that wrap this functionality, so this function rarely needs to be called directly.
The object passed must implement the QMediaBindableInterface interface.
See also QMediaBindableInterface.
[virtual]
bool QMediaObject::isAvailable() constReturns true if the service is available for use.
Returns true if there is meta-data associated with this media object, else false.
Returns the value associated with a meta-data key.
See the list of predefined meta-data keys.
[signal]
void QMediaObject::metaDataAvailableChanged(bool available)Signals that the available state of a media object's meta-data has changed.
[signal]
void QMediaObject::metaDataChanged()Signals that this media object's meta-data has changed.
If multiple meta-data elements are changed, metaDataChanged(const QString &key, const QVariant &value) signal is emitted for each of them with metaDataChanged() changed emitted once.
Note: Signal metaDataChanged is overloaded in this class. To connect to this signal by using the function pointer syntax, Qt provides a convenient helper for obtaining the function pointer as shown in this example:
connect(mediaObject, QOverload<>::of(&QMediaObject::metaDataChanged), [=](){ /* ... */ });
[signal]
void QMediaObject::metaDataChanged(const QString &key, const QVariant &value)Signal the changes of one meta-data element value with the given key.
Note: Signal metaDataChanged is overloaded in this class. To connect to this signal by using the function pointer syntax, Qt provides a convenient helper for obtaining the function pointer as shown in this example:
connect(mediaObject, QOverload<const QString &, const QVariant &>::of(&QMediaObject::metaDataChanged), [=](const QString &key, const QVariant &value){ /* ... */ });
[signal]
void QMediaObject::notifyIntervalChanged(int milliseconds)Signal a change in the notify interval period to milliseconds.
Note: Notifier signal for property notifyInterval.
[protected]
void QMediaObject::removePropertyWatch(const
QByteArray &name)Remove property name from the list of properties whose changes are regularly signaled.
See also notifyInterval.
[virtual]
QMediaService *QMediaObject::service() constReturns the media service that provides the functionality of this multimedia object.
[virtual]
void QMediaObject::unbind(QObject *object)Detach object from the QMediaObject instance.
Unbind the helper object from this media object. A warning will be generated if the object was not previously bound to this object.
See also QMediaBindableInterface.