QMediaObject 类

QMediaObject class provides a common base for multimedia objects. 更多...

头: #include <QMediaObject>
qmake: QT += multimedia
继承: QObject
继承者:

QAudioDecoder , QCamera , QMediaPlayer ,和 QRadioTuner

特性

公共函数

~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 毫秒 )

保护函数

QMediaObject (QObject * parent , QMediaService * service )
void addPropertyWatch (QByteArray const & name )
void removePropertyWatch (QByteArray const & name )

额外继承成员

详细描述

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.

另请参阅 QMediaService and QMediaControl .

特性文档编制

notifyInterval : int

The interval at which notifiable properties will update.

The interval is expressed in milliseconds, the default value is 1000.

访问函数:

int notifyInterval () const
void setNotifyInterval (int milliSeconds )

通知程序信号:

void notifyIntervalChanged (int 毫秒 )

另请参阅 addPropertyWatch () 和 removePropertyWatch ().

成员函数文档编制

[protected] QMediaObject:: QMediaObject ( QObject * parent , QMediaService * service )

Constructs a media object which uses the functionality provided by a media service .

parent 会被传递给 QObject .

This class is meant as a base class for multimedia objects so this constructor is protected.

QMediaObject:: ~QMediaObject ()

销毁此媒体对象。

[protected] void QMediaObject:: addPropertyWatch ( QByteArray const & name )

Watch the property name . The property's notify signal will be emitted once every notifyInterval 毫秒。

另请参阅 notifyInterval .

[virtual] QMultimedia::AvailabilityStatus QMediaObject:: availability () const

Returns 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 .

注意: 信号 availabilityChanged 在此类中是重载。要使用函数指针句法连接到此信号,必须在静态铸造中指定信号类型,如此范例所示:

connect(mediaObject, static_cast<void(QMediaObject::*)(bool)>(&QMediaObject::availabilityChanged),
    [=](bool available){ /* ... */ });
					

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

Signal emitted when the availability of the service has changed to availability .

注意: 信号 availabilityChanged 在此类中是重载。要使用函数指针句法连接到此信号,必须在静态铸造中指定信号类型,如此范例所示:

connect(mediaObject, static_cast<void(QMediaObject::*)(QMultimedia::AvailabilityStatus)>(&QMediaObject::availabilityChanged),
    [=](QMultimedia::AvailabilityStatus availability){ /* ... */ });
					

QStringList QMediaObject:: availableMetaData () const

返回元数据的可用键列表。

[virtual] bool QMediaObject:: bind ( QObject * object )

绑定 object 到此 QMediaObject 实例。

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.

大多数子类化的 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 接口。

另请参阅 QMediaBindableInterface .

[virtual] bool QMediaObject:: isAvailable () const

返回 true 若服务可用。

bool QMediaObject:: isMetaDataAvailable () const

Returns true if there is meta-data associated with this media object, else false.

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

返回的值关联元数据 key .

见预定义列表 元数据键 .

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

信号 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.

注意: 信号 metaDataChanged 在此类中是重载。要使用函数指针句法连接到此信号,必须在静态铸造中指定信号类型,如此范例所示:

connect(mediaObject, static_cast<void(QMediaObject::*)()>(&QMediaObject::metaDataChanged),
    [=](){ /* ... */ });
					

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

Signal the changes of one meta-data element value 采用给定 key .

注意: 信号 metaDataChanged 在此类中是重载。要使用函数指针句法连接到此信号,必须在静态铸造中指定信号类型,如此范例所示:

connect(mediaObject, static_cast<void(QMediaObject::*)(const QString &, const QVariant &)>(&QMediaObject::metaDataChanged),
    [=](const QString &key, const QVariant &value){ /* ... */ });
					

[signal] void QMediaObject:: notifyIntervalChanged ( int 毫秒 )

Signal a change in the notify interval period to 毫秒 .

注意: 通知程序信号对于特性 notifyInterval .

[protected] void QMediaObject:: removePropertyWatch ( QByteArray const & name )

移除特性 name from the list of properties whose changes are regularly signaled.

另请参阅 notifyInterval .

[virtual] QMediaService *QMediaObject:: service () const

Returns the media service that provides the functionality of this multimedia object.

[virtual] void QMediaObject:: unbind ( QObject * object )

分离 object QMediaObject 实例。

Unbind the helper object from this media object. A warning will be generated if the object was not previously bound to this object.

另请参阅 QMediaBindableInterface .