---
title: roIRTransmitter
slug: develop/es/roirtransmitter
docTags: 
createdAt: 2025-03-26T17:59:51.337Z
---

Este objeto admite el envío de códigos arbitrarios de control remoto por infrarrojos utilizando los protocolos NEC, RC5 o PHC (Pronto Hex Controls). El equivalente en JavaScript es [BSIRTransmitter](docId\:xXvF_b6X9CaFqwjlo4Yef).

Creación del objeto: *roIRTransmitter&#x20;*&#x73;e crea con un arreglo asociativo.

```none
CreateObject("roIRTransmitter", config as roAssociativeArray)
```

El arreglo asociativo puede contener el siguiente parámetro:

- `destino`: Un valor de cadena que indica el conector que se utilizará para emitir la señal.
  - "IR-out": El conector de salida IR de 3.5 mm (disponible en los modelos XDx30) o el conector de entrada/salida IR de 3.5 mm (disponible en los modelos 4Kx42 y XDx32)
  - "Iguana": El transceptor IR [Iguanaworks](http://iguanaworks.net/)

:::hint{type="info"}
El software del sistema no evitará que usted genere tanto una instancia de roIRTransmitter configurada en "IR-out" como una instancia de roIRReceiver configurada en "IR-in" (es decir, configurar el conector IR de 3.5 mm para entrada y salida al mismo tiempo). Sin embargo, el rendimiento de entrada/salida no será confiable.
:::

## ifMessagePort

**SetPort(message\_port\_object As Object) As Void**

Publica mensajes de eventos en el puerto de mensajes adjunto.

## ifUserData

**SetUserData(user\_data As Object)**

Establece los datos de usuario que se devolverán cuando se generen eventos.

**GetUserData() As Object**

Devuelve los datos de usuario que se configuraron previamente mediante `SetUserData()`. Devolverá `Inválido` si no se ha configurado ningún dato.

## ifIRTransmitter

**GetFailureReason() As String**

**Enviar(protocol As String, code As Dynamic) As Boolean**

Envía el código especificado utilizando el destino de salida configurado durante la creación del objeto. El sistema actualmente admite dos protocolos de transmisión IR: "NEC" y "PHC" ([Código hexadecimal Pronto](docId\:n20-0BTPS6Tv2rPFRj2hT)). Este método devuelve True si el código se transmitió correctamente, pero no hay forma de determinar desde BrightScript si el dispositivo controlado realmente lo recibió.

**AsyncSend(protocol As String, code As Dynamic) As Boolean**

Envía el código especificado y genera un objeto *roIRTransmitCompleteEvent* al completarse. El sistema actualmente admite dos protocolos de transmisión IR: "NEC" y "PHC" ([Código hexadecimal Pronto](docId\:n20-0BTPS6Tv2rPFRj2hT)). Este método solo es compatible cuando se utiliza el destino IR-out.

