---
title: ptp
slug: develop/es/ptp
docTags: 
createdAt: 2025-03-26T14:48:25.183Z
---

ptp le permite recuperar información sobre el estado PTP de la red del reproductor.

**IDL de ptp**

```javascript
interface PtpEvent {
    attribute String type;
};

callback PtpEventCallback = void (PtpEvent event);

interface Ptp {
    Promise<PtpStatus> getStatus();
    void addEventListener(String type, PtpEventCallback callback);
    void removeEventListener(String type, PtpEventCallback callback);
};

interface PtpStatus {
    attribute long timestamp;
    attribute String state;
};                                                                                                           
```

## Creación de objetos

Para crear un objeto *ptp*, cargue el módulo *@brightsign/ptp* usando el método `require()`. 

```javascript
var ptpclass = require('@brightsign/ptp');
var ptp = new ptpclass();                                                                                 
```

## Ptp

**getStatus()&#x20;**

```javascript
Promise<PtpStatus> getStatus()                                                                                             
```

Obtiene el estado de una red PTP para un reproductor.

## PtpEvent

Este objeto de evento es generado por el objeto *roPtp* cada vez que cambia el estado PTP del reproductor.

- `tipo` <font color="#6554c0">string</font>: El nombre del evento (que siempre será PtpEvent).

## PtpStatus

- `marca de tiempo`<font color="#6554c0"> long</font>:  El número de segundos desde que el estado PTP cambió por última vez. Este valor puede compararse con el tiempo total de actividad del reproductor, que se recupera llamando a `UpTime(0)`.
- `estado` <font color="#6554c0">string</font>: Indica el estado PTP actual del reproductor.  Los valores pueden ser Master, Slave o Uncalibrated.

## Ejemplo

```javascript
// code placeholder
var ptpclass = require('@brightsign/ptp');  
var ptp = new ptpclass();
function main() {    
    console.log("Starting PTP javascript API...");    
    // ptp status test    
    // Two examples of result from getStatus() for Master & Slave player    
    // {"state":"MASTER","timestamp":20}     
    // {"state":"SLAVE","timestamp":24}     
    var status = ptp.getStatus();    
    status.then( function(result) {              
       console.log(JSON.stringify(result)); })    
     .catch( function(err){     
       console.log(JSON.stringify(err)); 
    });

    // add event test 
    if(ptp.addEventListener){ 
       console.log("adding test event"); 
       ptp.addEventListener("ptpevent", EventHandler);     
    }
    // remove event test    
    // set 5 sec timeout for the purpose of testing removeEventListener     
    setTimeout(function (){      
       console.log("removing test event");        
       ptp.removeEventListener("ptpevent", EventHandler) }, 5000);
}
function EventHandler(event){   
    console.log(JSON.stringify(event));  
}                                                                                      
```

Desde BrightSignOS 8.3.20, para obtener el conjunto de datos actual: 

```javascript
var ptpclass = require('@brightsign/ptp');
 var ptp = new ptpclass();
var ds = ptp.getCurrentDataSet();
ds
 .then( function(result) {
   console.log(JSON.stringify(result));
 })
 .catch( function(err){
   console.log(JSON.stringify(err)); }
 );

```

Esto devolverá una promesa que, cuando se complete correctamente, se resolverá al tipo: 

```javascript
type CurrentDataSet
{
 stepsRemoved: number;
 offsetFromMaster: number;
 meanPathDelay: number;
}
```

