Effect Class

( Phonon::Effect )

The Effect class is used to transform audio streams. 更多...

头: #include <Phonon/Effect>
Since: Qt 4.4
继承: QObject and MediaNode

公共函数

Effect (const EffectDescription & description , QObject * parent = 0)
EffectDescription description () const
QVariant parameterValue (const EffectParameter & 参数 ) const
QList<EffectParameter> 参数 () const
void setParameterValue (const EffectParameter & 参数 , const QVariant & value )

额外继承成员

详细描述

The Effect class is used to transform audio streams.

An effect is a media node which is inserted into a path between a MediaObject and an audio output node, for instance, an AudioOutput . The Effect transforms the media stream on that path.

Examples may include simple modifiers, such as fading or pitch shifting, and more complex mathematical transformations. You can query the backend for available effects with BackendCapabilities::availableAudioEffects (). Note that the effects available is dependent on the underlying system (DirectDraw, GStreamer, or QuickTime).

In order to use an effect, insert it into the path as follows:

Path path = Phonon::createPath(...);
Effect *effect = new Effect(this);
path.insertEffect(effect);
					

The effect will immediately begin applying it's transformations on the path. To stop it, remove the Effect from the path.

To create an effect, you use the EffectDescription class, which you get from availableAudioEffects() . We give a code example below.

    QList<Phonon::EffectDescription> effectDescriptions =
            Phonon::BackendCapabilities::availableAudioEffects();
    Phonon::EffectDescription effectDescription = effectDescriptions.at(4);
    Phonon::Path path = Phonon::createPath(mediaObject, audioOutput);
    Phonon::Effect *effect = new Phonon::Effect(effectDescription);
    path.insertEffect(effect);
					

An effect can have one or more parameters, which let you alter how the effect works, for instance, by specifying the depth of a reverb effect. See the EffectParameter 类描述了解细节。

Phonon also provides EffectWidget , which lets the user modify the parameters of an effect an the fly; e.g., with combo boxes.

另请参阅 Phonon 模块 and EffectWidget .

成员函数文档编制

Effect:: Effect (const EffectDescription & description , QObject * parent = 0)

Constructs a new effect object with the given description and parent 对象。

The EffectDescription object determines the type of the effect.

另请参阅 Phonon::BackendCapabilities::availableAudioEffects().

EffectDescription Effect:: description () const

Returns the description of this effect. This is the same description that was passed to the constructor.

QVariant Effect:: parameterValue (const EffectParameter & 参数 ) const

Returns the value of the given effect 参数 . You can fetch the available parameters for an effect with 参数 ().

另请参阅 setParameterValue () 和 EffectParameter .

QList < EffectParameter > Effect:: 参数 () const

Returns a list of parameters that this effect provides to control its behavior.

另请参阅 EffectParameter and EffectWidget .

void Effect:: setParameterValue (const EffectParameter & 参数 , const QVariant & value )

Sets the given effect 参数 到指定 value .

Parameters for an effect are returned by 参数 (). You can check which QVariant::Type an EffectParameter takes with the EffectParameter::type () 函数。

另请参阅 parameterValue () 和 EffectParameter .