ObjectDescription Class


The ObjectDescription class provides information about Phonon objects. More...

Header: #include <Phonon/ObjectDescription>
Since: Qt 4.4

Public Functions

QString description() const
int index() const
bool isValid() const
QString name() const
QVariant property(const char * name) const
QList<QByteArray> propertyNames() const
bool operator!=(const ObjectDescription & otherDescription) const
bool operator==(const ObjectDescription & otherDescription) const
typedef AudioOutputDevice
typedef EffectDescription
enum ObjectDescriptionType { AudioOutputDeviceType, EffectType }

Detailed Description

The ObjectDescription class provides information about Phonon objects.

Phonon currently uses this class to describe audio effects and audio output devices - using the typedefs AudioOutputDevice and EffectDescription. The type of an ObjectDescription is also described through the ObjectDescriptionType enum. Objects of the same type are uniquely identified by an index().

The class gives a description() and a name() of the object, both of which are strings appropriate for end users of a Phonon application. You can also check whether the device or effect described is valid. This does not guarantee that the device or effect functions as expected, but that the ObjectDescription describes an existing device or effect.

Audio output devices and effect descriptions are used to select the audio output device to be used for playback and to create effects; we show examples of this in the snippet below. The available descriptions can be fetched with availableAudioOutputDevices() and availableAudioEffects() static functions in the Phonon::BackendCapabilities namespace

    QList<Phonon::EffectDescription> effectDescriptions =

    QList<Phonon::AudioOutputDevice> audioOutputDevices =

    foreach (Phonon::EffectDescription effectDescription, effectDescriptions) {
        Phonon::Effect *effect = new Phonon::Effect(effectDescription);

        // ... Do something with the effect, like insert it into a media graph

    Phonon::AudioOutput *audioOutput = new Phonon::AudioOutput;


Other types of ObjectDescriptions might be possible in the future, e.g., descriptions of audio capture devices, such as microphones.

See also Phonon::AudioOutputDevice, Phonon::EffectDescription, Capabilities Example, and Phonon Module.

Member Function Documentation

QString ObjectDescription::description() const

Returns a more extensive description than the name() function.

For example, in the case of AudioOutputDevices, this text should make clear which sound source is described; this is sometimes hard to describe or understand from just the name.

The text is appropriate to present to an end user in for example tool tips of items, with the name()'s as text, in a QComboBox.

int ObjectDescription::index() const

Returns a unique identifier for this ObjectDescription. Used internally to distinguish between the descriptions.

Notice that the identifiers are only unique to the type of description, e.g., AudioOutputDevice or EffectDescription.

bool ObjectDescription::isValid() const

Returns true if the device or effect described exists.

An ObjectDescription that is invalid, will also have an index() of -1.

See also index().

QString ObjectDescription::name() const

Returns a string appropriate for a user to select between object descriptions, e.g., from a QComboBox.

See also description().

QVariant ObjectDescription::property(const char * name) const

Returns the property named name. A property can be used for extended information, such as the manufacturer of a sound card. The information will usually be given as text.

If the property is not set an invalid QVariant is returned.

Qt's backends do not use properties at the time of this writing.

See also propertyNames().

QList<QByteArray> ObjectDescription::propertyNames() const

Properties can be used for extended information about a ObjectDescription, e.g., a manufacturer of a sound card. The information will usually be given text.

This function returns all names that return valid data when property() is called.

Currently, Qt backends do not use properties for their object descriptions.

See also property().

bool ObjectDescription::operator!=(const ObjectDescription & otherDescription) const

Returns false if this ObjectDescription describes the same as otherDescription; otherwise, returns true.

bool ObjectDescription::operator==(const ObjectDescription & otherDescription) const

Returns true if this ObjectDescription describes the same object as otherDescription; otherwise, returns false.

Related Non-Members

typedef Phonon::AudioOutputDevice

This typedef of ObjectDescription describes an audio output device, such as soundcards (with different drivers), sound servers, or other virtual outputs like playback on a different computer on the network.

A list of available devices is given by the backend with Backendcapabilities::availableAudioOutputDevices()

    QList<Phonon::AudioOutputDevice> audioOutputDevices =

typedef Phonon::EffectDescription

EffectDescription gives a description of an audio effect. It is a typedef of the ObjectDescription class. Please see its class description for details.

EffectDescription is used to create audio Effects, which can be inserted into a media graph, altering an audio stream.

See also Phonon::ObjectDescription, Capabilities Example, and Media Player.

enum Phonon::ObjectDescriptionType

This enum defines the type of information that is contained in a ObjectDescription object.

Phonon::AudioOutputDeviceType0An audio output device (AudioOutputDevice). This can be soundcards (with different drivers), sound servers, or other virtual outputs like playback on a different computer on the network.
Phonon::EffectType1An audio effect (EffectDescription).

© 2016 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.