---
title: roAudioOutput
slug: develop/es/roaudiooutput
docTags: 
createdAt: 2025-03-11T07:07:18.732Z
---

Este objeto permite el control individual de las salidas de audio en el reproductor. El equivalente en JavaScript es [salidadeaudio](docId:1LmxvyBs20SgpGZzSc-de).

Creación de objetos: el objeto *roAudioOutput* requiere un único parámetro de salida al crearse.

```text
CreateObject("roAudioOutput", output As String)
```

El parámetro `salida` puede tomar las siguientes cadenas:

- `“ninguno”`
- `"hdmi”` o `"hdmi-1"`, `"hdmi-2"`, `"hdmi-3"`, o `"hdmi-4`" para reproductores Serie 5 con múltiples salidas
- `“USB”`
- `«spdif»`
- `"analógico"` 
- `“analog:N”` (N especifica la enumeración del puerto, lo cual es útil para modelos con múltiples puertos de audio analógico; también puede usar `"analog:1"` para especificar la salida analógica en un modelo con un único puerto de audio analógico)
- `"earc"` (solo AU335)
- Compatibilidad con múltiples salidas USB mediante la terminología de nombres de puertos USB.&#x20;
  - `"usb:fid"` donde `fid` es el Friendly ID del dispositivo según se documenta aquí:  [roDeviceInfo-getusbtopology](docId\:YuDJoiPUdUw_RC3FYb_ZZ)

:::ExpandableHeading{indent="1"}
**Obtención del Friendly ID**

El formato `"usb:fid"` requiere conocer el fid del dispositivo de audio USB. El fid se deriva del puerto físico al que está conectado el dispositivo y puede detectarse en tiempo de ejecución usando `roDeviceInfo.GetUSBTopology()`. Para un reproductor con dos puertos, un dispositivo conectado directamente a un puerto tendrá un `fid` como `A:0` o `B:0`. Si un dispositivo está conectado a través de un hub, puede tener un fid como `B/2.0`. El siguiente ejemplo imprime todos los fid de dispositivos de audio USB:

```none
di = CreateObject("roDeviceInfo")
topo = di.GetUSBTopology({xml: true})
print topo

' Ejemplo de salida para un dispositivo en el puerto B:
'   <device>
'     <raw>4-1:1.0</raw>
'     <fid>B.0</fid>
'     <category>AUDIO</category>
'     ...
'   </device>
```
:::

Puede crear cualquier cantidad de objetos *roAudioOutput* . Puede haber múltiples instancias de este objeto que representen la misma salida de audio, pero en esos casos un objeto reemplazará a otro.

Para conectar el objeto `roAudioOutput` al reproductor, consulte este ejemplo de uso de `SetPcmAudioOutputs`:&#x20;

:::ExpandableHeading{indent="1"}
**Obtener una salida de audio USB**

Para crear una salida de audio USB, la cadena fid que se debe pasar a `CreateObject` es `"usb:" + fid`, por ejemplo `"usb:B.0"` para un dispositivo conectado directamente al puerto B, o `"usb:B/2.0"` para un dispositivo en un hub conectado al puerto B. El prefijo `"usb:"` se compara sin distinguir entre mayúsculas y minúsculas; la parte fid debe coincidir exactamente con el valor devuelto por `GetUSBTopology()`. La topología de audio USB debe establecerse **antes de que el reproductor arranque**. No se admite conectar o desconectar dispositivos de audio USB después del arranque y no se actualizarán las rutas de audio disponibles. Si un dispositivo de audio USB no está presente en el momento del arranque, `CreateObject("roAudioOutput", "usb:fid")` devolverá `Inválido` para ese fid.

El siguiente script muestra cómo enrutar audio a un dispositivo USB, dado que se conoce el `fid` del dispositivo.

```none
' Cree una salida de audio para el dispositivo USB en el puerto B
usbOut = CreateObject("roAudioOutput", "usb:B.0")

' Cree un reproductor y dirija su salida PCM al dispositivo USB
player = CreateObject("roAudioPlayer")
player.SetPcmAudioOutputs([usbOut])

' Se pueden pasar varios dispositivos USB (por ejemplo, puerto A y puerto B) juntos
usbOutA = CreateObject("roAudioOutput", "usb:A.0")
usbOutB = CreateObject("roAudioOutput", "usb:B.0")
player.SetPcmAudioOutputs([usbOutA, usbOutB])
player.PlayFile("sd:/my.mp3")
```
:::

## ifAudioOutput

### SetVolume(a As Integer) As Boolean

Establece el volumen de la salida especificada como un porcentaje representado por un entero entre 0 y 100.

### SetVolume(parameters As roAssociativeArray) As Boolean

Establece el volumen de la salida especificada utilizando los parámetros proporcionados:

- db: El volumen requerido en decibelios. Los valores permitidos son hasta 0.0, que representa el volumen máximo.

### SetTone(treble As Integer, bass As Integer) As Boolean

Establece los tonos agudos y graves de la salida especificada. Los valores enteros de agudos y graves pueden oscilar entre -1000 y 1000, donde 0 indica que no hay modificación de la señal de audio. Cada incremento representa un cambio de 0.01db.

### SetMute(a As Boolean) As Boolean

Silencia la salida especificada si `Verdadero`. Este método está configurado en `Falso` de forma predeterminada.

### GetOutput() As String

Devuelve la cadena con la que se creó el objeto *roAudioOutput*.

### SetAudioDelay(delay\_in\_milliseconds As Integer) As Boolean

Retrasa el audio para una salida de audio específica demorando las muestras decodificadas antes de que lleguen a esa salida. Los retrasos están limitados a 150 ms o menos. Actualmente, el software del sistema solo admite retrasos positivos; por lo tanto, si necesita adelantar el audio respecto al video, deberá utilizar *roVideoPlayer.SetVideoDelay()* en su lugar.

### GetPlugState( ) As Boolean

Esta función devuelve `verdadero` si la salida correspondiente tiene un conector insertado, `falso` si no lo tiene, o `Inválido` si el estado del conector no puede determinarse en el hardware o la versión del SO actual. Esto solo es compatible con los reproductores MD435, MD455, EV445, EV455, XD236, XD1036, HD226 y HD1026 en BOS 9.0.163 en adelante.

Los métodos `SetVolume()` y `SetMute()` funcionan conjuntamente con la funcionalidad de volumen y silencio ofrecida por *roAudioPlayer*. La configuración de volumen de *roAudioPlayer* afecta al volumen del decodificador de audio. El flujo de audio se envía luego a las salidas asignadas, que tienen un nivel adicional de control de volumen habilitado por *roAudioOutput*.

El objeto *roAudioOutput* afecta el volumen absoluto (así como la configuración de silencio) para una salida de audio. Si dos reproductores transmiten a la misma salida, ambos se verán afectados por cualquier configuración implementada mediante *roAudioOutput*.

:::hint{type="info"}
Para controlar qué salidas de audio se conectan a las salidas del reproductor de audio generadas por *roAudioOutput*, utilice los métodos SetPcmAudioOutputs() y  SetCompressedAudioOutputs(), que pueden utilizarse para *roVideoPlayer* y  *roAudioPlayer*. Consulte la entrada de *roAudioPlayer* para obtener una explicación adicional de estos métodos.
:::

