Phonon.Path Class Reference

[ phonon module]

The Path class describes connections between media nodes. 更多...

方法

Special Methods


详细描述

The Path class describes connections between media nodes.

In a media graph , MediaNode s are connected by Paths. The multimedia travels in streams over these paths.

You create a path between two media nodes using the static Phonon.createPath () function, which takes two nodes as arguments. The first argument will send the media stream to the second. Please refer to the class description of the individual media nodes and the Phonon 概述 to see which nodes can be connected to each other.

Paths are also used to insert audio Effect s between two media nodes. The effect will then alter the stream on the path. Notice that Effect s also are media nodes, but that insertEffect () - 而不是 Phonon.createPath () - is used to insert them into the media graph.

The following code example shows how to create a path between two media nodes and insert an effect on that path.

 MediaObject *media = new MediaObject;
 AudioOutput *output = new AudioOutput(Phonon.MusicCategory);
 Path path = Phonon.createPath(media, output);
 Q_ASSERT(path.isValid()); // for this simple case the path should always be
                           //valid - there are unit tests to ensure it
 // insert an effect
 QList<EffectDescription> effectList = BackendCapabilities.availableAudioEffects();
 if (!effectList.isEmpty()) {
     Effect *effect = path.insertEffect(effectList.first());
 }
			

方法文档编制

Path.__init__ ( self )

Creates an invalid path.

You can still make it a valid path by calling reconnect. It is recommended to use the Phonon.createPath () function to create paths.

另请参阅 Phonon.createPath () 和 isValid ().

Path.__init__ ( self , Path )

Constructs a copy of the other path 指定。

This constructor is fast thanks to explicit sharing.

bool Path.disconnect ( self )

Tries to disconnect the path from the MediaNodes it is connected to, returning true if successful or false if unsuccessful.

If successful, the path is invalidated: isValid () will returns false.

list-of-Phonon.Effect Path.effects ( self )

Returns a list of Effect objects that are currently used as effects. The order in the list determines the order the signal is sent through the effects.

Returns A list with all current effects.

另请参阅 insertEffect () 和 removeEffect ().

Effect Path.insertEffect ( self , EffectDescription   desc , Effect   before  = None)

Creates and inserts an effect into the path.

You may insert effects of the same class as often as you like, but if you insert the same object, the call will fail.

desc EffectDescription object for the effect to be inserted.

If you already inserted an effect you can tell with insertBefore in which order the data gets processed. If this is 0 the effect is appended at the end of the processing list. If the effect has not been inserted before the method will do nothing and return false .

Returns a pointer to the effect object if it could be inserted at the specified position. If 0 is returned, the effect was not inserted.

Below is a code example for inserting an effect into a path:

     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);
			

另请参阅 removeEffect () 和 effects ().

bool Path.insertEffect ( self , Effect   newEffect , Effect   before  = None)

Inserts the given effect into the path before the effect 指定通过 insertBefore and returns true if successful; otherwise returns false.

insertBefore is zero, the effect is appended to the processing list.

You may insert effects of the same class as often as you like, but if you insert the same object, the call will fail.

effect will be inserted right before insertBefore . 若 insertBefore is 0 , the effect is appended at the end of the processing list. If the effect has not been inserted before the method will do nothing and return false .

Returns whether the effect could be inserted at the specified position. If false is returned the effect was not inserted.

另请参阅 removeEffect () 和 effects ().

bool Path.isValid ( self )

A path is considered valid if it is connected to two media nodes, in which case this function returns true. If it is connected to one or no media nodes, it is consider invalid, and this function will then return false.

bool Path.reconnect ( self , MediaNode   source , MediaNode   sink )

Changes the media nodes the path is connected to by connecting the path to the source and sink nodes specified. Returns true if successful; otherwise returns false.

If unsuccessful, the path remains connected to the same nodes as before.

另请参阅 Phonon.createPath () 和 Phonon Overview .

bool Path.removeEffect ( self , Effect   effect )

移除给定 effect from the path and returns true; otherwise returns false.

Removes an effect from the path.

If the effect is deleted while it is still connected, the effect will be removed automatically.

另请参阅 insertEffect () 和 effects ().

MediaNode Path.sink ( self )

Returns the sink MediaNode used by the path.

MediaNode Path.source ( self )

Returns the source MediaNode used by the path.

bool Path.__eq__ ( self , Path   p )

bool Path.__ne__ ( self , Path   p )