---
title: BSSyncManager
slug: develop/es/bssyncmanager
docTags: 
createdAt: 2025-03-11T07:07:17.199Z
---

Para obtener más información sobre los métodos disponibles, consulte la entrada [roSyncManager](docId\:YtmejVa-nfNTUfLxDTnEW) . Para habilitar Genlock en JavaScript, pase el dominio *BSSyncManager*/*roSyncManager* al método [videooutput](docId\:SwJeMbHyGb66kz1bndeDb)*&#x20;setSyncDomain()* 

## Creación de objetos

`BSSyncManager(en la interfaz DOMString, en el dominio DOMString, en la dirección_multidifusión DOMString, en el puerto_multidifusión DOMString)`

Configurar la interfaz en `""` (vacío) utilizará todas las interfaces, y omitir el parámetro `interfaz` equivale a especificar un nombre de interfaz vacío. 

## Métodos

- `SetAsLeader(in boolean leader_mode) genera(DOMException)` void
- `Sincronizar(in DOMString id, in unsigned long ms_delay) genera(DOMException)` void
- `Close()` void: Apaga la instancia, evitando que siga consumiendo recursos. Si no se llama a este método, la recolección de basura determina cuándo se destruirá la instancia.
- `BindToInterface(in DOMString interface)`: Vincula el SyncManager a una interfaz de red específica (por ejemplo, "eth0", "wifi0"). Configurar la interfaz en `""` (vacío) utilizará todas las interfaces.
- `SetEncryptionEnable(en booleano habilitar)` boolean
- `SetEncryptionEnable(in boolean enable, in DOMString key)` boolean
- `SetEncryptionEnable(in boolean enable, in ArrayBuffer key)` boolean: Habilita o deshabilita el cifrado de los mensajes de *BSSyncManager* a través de la red. Este método devuelve `verdadero` si se realiza correctamente y `falso` si falla. La key puede especificarse como una cadena o una matriz binaria. Alternativamente, puede no proporcionarse un valor `clave` , en cuyo caso se utiliza una clave generada pseudoaleatoriamente. Configurar `habilitar` en `falso` y proporcionar una `clave` al mismo tiempo hará que este método falle. El cifrado está disponible (y habilitado de forma predeterminada) en OS8 y versiones posteriores. Tenga en cuenta el siguiente comportamiento en entornos con versiones mixtas:
  - Las unidades follower que tienen el cifrado habilitado pueden ingerir mensajes de sincronización sin cifrar desde una unidad leader. Una vez que una unidad follower recibe paquetes cifrados, ya no aceptará paquetes sin cifrar desde una unidad leader, a menos que el cifrado se deshabilite explícitamente mediante este método.
  - Las unidades follower que tienen el cifrado deshabilitado (o no admiten cifrado) no pueden ingerir mensajes cifrados desde una unidad leader. Por lo tanto, si un grupo de sincronización incluye versiones mixtas del OS, la unidad leader siempre debe tener una versión más antigua del OS que las unidades follower.
- `SetEncryptionEnableWithObfuscatedKey(in DOMString obfuscated_key) As Boolean` boolean : Habilita el cifrado de los mensajes de *BSSyncManager* mediante una clave ofuscada. Comuníquese con [support@brightsign.biz](mailto\:support@brightsign.biz) para obtener más información sobre cómo generar una clave para ofuscación y almacenarla en el reproductor.

## Funciones de video HTML

`setSyncParams(en DOMString domain, en DOMString id, en DOMString iso_timestamp)`

Las etiquetas de video HTML incluyen la función `setSyncParams()` . Llamar a esta función sincroniza el video con el grupo de sincronización especificado.

## Eventos

El siguiente evento está disponible en el objeto *BSSyncManager* . Puede recibir eventos del tipo *BSSyncManagerEvent*.

`onsyncevent` 

### BSSyncManagerEvent – Atributos

Los siguientes atributos son relevantes para el evento onsyncevent:

- `dominio` DOMString readonly
- `id` DOMString readonly
- `iso_timestamp` DOMString readonly

## Ejemplos

El siguiente ejemplo de JavaScript contiene dos videos sincronizados localmente con *BSSyncManager*. Si un reproductor follower está configurado para estar en el mismo dominio PTP que el reproductor leader y utiliza el script HTML follower, mostrará los videos sincronizados con el reproductor leader. Esto puede implementarse en varios reproductores follower.

### Script del líder

```javascript
<video id="one" hwz="on">
    <source id="one_src" src="pirates.mov">
</video>

<script>
    // Create the sync manager with provided multicast settings
    var sync = new BSSyncManager("domain1", "224.0.126.10", 1539);

    sync.onsyncevent = function (e) {
        document.getElementById("one").setSyncParams(e.domain, e.id, e.iso_timestamp);
        document.getElementById("one").load();
        document.getElementById("one").play();
        console.log(e.domain);
        console.log(e.id);
        console.log(e.iso_timestamp);
    };

    function startTimer() {
        setTimeout(function () {
            restartLeader()
        }, 30000);
    }
    function restartLeader() {
        // Synchronize the videos to start playing in 1000ms
        sync.SetAsLeader(1);
        sync.Synchronize("sync_event1", 1000);
        startTimer();
    }
    restartLeader();

</script>
```

### Script del seguidor

```javascript
<video id="one" hwz="on">
    <source id="one_src" src="pirates.mov">
</video>

<script>
    // Create the sync manager with provided multicast settings
    var sync = new BSSyncManager("domain1", "224.0.126.10", 1539);

    sync.onsyncevent = function (e) {
        document.getElementById("one").setSyncParams(e.domain, e.id, e.iso_timestamp);
        document.getElementById("one").load();
        document.getElementById("one").play();
        console.log(e.domain);
        console.log(e.id);
        console.log(e.iso_timestamp);
    };
 
</script>

</body>
</html>
```

