Edit

Share via


Player.AttachFlow(AudioVideoFlow) Method

Definition

Attaches an AudioVideoFlow instance to this player.

public:
 void AttachFlow(Microsoft::Rtc::Collaboration::AudioVideo::AudioVideoFlow ^ audioVideoFlow);
public void AttachFlow (Microsoft.Rtc.Collaboration.AudioVideo.AudioVideoFlow audioVideoFlow);
member this.AttachFlow : Microsoft.Rtc.Collaboration.AudioVideo.AudioVideoFlow -> unit

Parameters

audioVideoFlow
AudioVideoFlow

The AudioVideoFlow instance to be attached.

Exceptions

Thrown when the audioVideoFlow parameter is null.

Thrown when the operation failed, such as for an overloaded system.

Thrown when the operation is invalid because an unbuffered media source is already being played to another AudioVideoFlow attached to this Player.

Examples

The following example attaches and detaches a Player by the time AudioVideoFlow changes its state to Active and Terminated.

C# Attaching and detaching an AudioVideoFlow.


audioVideoFlow.StateChanged += delegate(object sender, MediaFlowStateChangedEventArgs args)
{
    AudioVideoFlow avFlow = (AudioVideoFlow)sender;

    if(avFlow.State == MediaFlowState.Active)
    {

        Player player = new Player();
        player.AttachFlow(avFlow);

    }
    else if(avFlow.State == MediaFlowState.Terminated)
    {

        if (avFlow.Player != null)
        {
            // As Player accepts multiple AudioVideoFlows, DetachFlow requires an AudioVideoFlow as argument.
            avFlow.Player.DetachFlow(avFlow);
        }

    }
};


Remarks

If the player is already started, the AudioVideoFlow will join in a broadcast fashion.

Applies to