Skip to content

Synchronization of several player components

Synchronization of several player components

It is possible to synchronize several player components.

One component is declared as the master component, the other components are the slave components.

Example:

VideoGrabber2.Synchronized = true

VideoGrabber2.SynchronizationRole = sr_Slave

VideoGrabber3.Synchronized = true

VideoGrabber3.SynchronizationRole = sr_Slave

VideoGrabber1.Synchronized = true

VideoGrabber1.SynchronizationRole = sr_Master

VideoGrabber1.PlayerFileName = "myclip.avi"

VideoGrabber1.AutoStartPlayer = false

VideoGrabber1.OpenPlayer()

VideoGrabber1.StartSynchronized ()

This will open the clip in the 3 components at the same time. Starting from now all the player actions below performed on VideoGrabber1 are applied at the same time on VideoGrabber2 and VideoGrabber3:

by invoking the following functions:

*OpenPlayer *

*ClosePlayer *

*RunPlayerBackwards *

*PausePlayer *

*StopPlayer *

*RunPlayer *

*RewindPlayer *

*FastForwardPlayer *

by assigning the following properties:

*PlayerTimePosition *

*PlayerFramePosition *

Shifting the synchronization position of one slave player

It is possible to set a delta position on a slave player (after the clip is opened on all the components) as follows:

- disable temporarily the Synchronized property on this slave

- set a new position on the slave (with PlayerFramePosition or PlayerTimePosition )

- enable the Synchronized property on this slave

Now all position changes on the master component will be performed on the slave by applying the delta position set while the Synchonized property was disabled.

Look at the SynchronizedPlayers demo project included in the package for sample code.