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

Este objeto le permite mezclar archivos de audio, así como transmisiones de audio HLS. Cada objeto roAudioPlayerMx contiene dos reproductores de audio internos: la lista de reproducción de audio principal consta de pistas de audio en cola que se reproducen secuencialmente, mientras que la superposición de audio reproduce archivos sobre la lista de reproducción principal. No se producirá un desvanecimiento si se llama mientras una superposición se está reproduciendo, pero la siguiente pista de audio comenzará a reproducirse como se espera. 

Las pistas se ponen en cola para `PlayFile()` con sus parámetros de desvanecimiento especificados en un [array asociativo](docId:0YwiKKtpZFySWssiOHDeF). Estos son los parámetros que puede pasar a `PlayFile()`:

- `Nombre de archivo`: El nombre de archivo de la pista
- `FrontPorch`: La duración (en milisegundos) que se omite desde el inicio de la pista. Este valor es 0 de forma predeterminada.
- `FadeOutLocation`: La ubicación (en milisegundos) del desvanecimiento de salida relativa al valor de `FrontPorch`. Si el valor de `FrontPorch` es `0` (que es la configuración predeterminada), y el valor de `Duración del desvanecimiento` es distinto de cero, entonces el desvanecimiento de salida se calcula hacia atrás desde el final del archivo.
- `Duración del desvanecimiento`: La duración del desvanecimiento de salida (en milisegundos). Este valor es 0 de forma predeterminada.
- `SegueLocation`: La ubicación (en milisegundos) del evento que activa la reproducción del siguiente archivo de audio. Esta ubicación es relativa al primer archivo de audio que se reproduce. Si el parámetro `SegueLocation` no se incluye, el valor toma el valor predeterminado de `FadeOutLocation`.
- `BackPorchLocation`: La ubicación (en milisegundos) del punto de terminación de la pista de audio. Esta ubicación es relativa al primer archivo de audio que se reproduce. Si el parámetro `BackPorchLocation` no se incluye, el archivo de audio se reproduce hasta el final. El valor es 0 de forma predeterminada, lo que deshabilita el back porch.
- `Volumen de la pista`: El volumen relativo de la pista de audio, medido como un porcentaje. Especifique el porcentaje usando valores entre 0 y 100.
- `EventID`: El ID de un evento de audio.
- `EventTimeStamp`: La marca de tiempo del evento de audio. Solo puede haber un evento por archivo de audio.
- `QueueNext`: La puesta en cola de una pista de audio. Configure el valor del parámetro en 1 para poner en cola un archivo de audio para reproducirse después de la pista actual.
- `Superposición`: La especificación de superposición de una pista de audio. Configure el valor del parámetro en 1 para reducir gradualmente el volumen de la lista de reproducción de audio principal mientras reproduce la pista de audio como una superposición. Las superposiciones tienen parámetros adicionales:
  - `AudioBedLevel`: El porcentaje del nivel de volumen de la lista de reproducción de audio principal mientras se reproduce la superposición. Especifique el porcentaje usando valores entre 0 y 100.
  - `AudioBedFadeOutLength`: La duración del desvanecimiento de salida de la lista de reproducción de audio principal.
  - `AudioBedFadeInLength`: La duración del desvanecimiento de entrada para la pista de audio subyacente una vez que se activa la transición.
- `FadeCurrentPlayNext`: Un comando de desvanecimiento. Configure el valor del parámetro en 1 para desvanecer la pista actual de la lista de reproducción de audio principal y desvanecer de entrada el archivo de audio designado.
- `CrossfadeCurrentPlayNext`: Un comando de fundido cruzado. Configure el valor del parámetro en 1 para forzar un fundido cruzado inmediato entre la pista actual de la lista de reproducción de audio principal y el archivo de audio designado.
- `CadenaDeUsuario`: Una cadena que se puede establecer en un valor único para cada instancia de *roAudioPlayerMx* . Esta cadena se devuelve con cada evento generado por la instancia. Dado que todas las plataformas actuales pueden admitir múltiples instancias de *roAudioPlayerMx* ejecutándose al mismo tiempo, UserString permite que el script distinga entre los retornos de eventos.

El siguiente diagrama ilustra cómo algunos de estos parámetros de temporización funcionan juntos:

::Image[]{src="https://api.archbee.com/api/optimize/511c8QBH-VHiwWnyzIwUb/gl6WpSStMN95R89anRs4K_ormroaudioplayermx.png" size="60" width="864" height="274" position="center" darkWidth="864" darkHeight="274" showCaption="false"}

El siguiente script ilustra un fundido cruzado simple entre pistas de audio:

```text
a = CreateObject("roAudioPlayerMx")
 
track1 = CreateObject("roAssociativeArray")
track1["Filename"] = "file1.mp3"
track1["FadeInLength"] = 4000
track1["FadeOutLength"] = 4000
track1["QueueNext"] = 1
 
track2 = CreateObject("roAssociativeArray")
track2["Filename"] = "file2.mp3"
track2["FadeInLength"] = 4000
track2["FadeOutLength"] = 4000
track2["QueueNext"] = 1
 
a.PlayFile(track1)
a.PlayFile(track2)
```

## ifMediaTransport

Consulte *roVideoPlayer* para obtener una descripción de los métodos de *ifMediaTransport*.

## ifAudioControl

Consulte *roAudioPlayer* para obtener una descripción de los métodos de *ifAudioControl*.

## ifSetMessagePort

### SetPort(a As Object)

## 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 establecieron previamente mediante `SetUserData()`. Devolverá Invalid si no se ha establecido ningún dato.

## ifIdentity

### GetIdentity() As Integer

:::hint{type="info"}
La interfaz *ifIdentity* ha quedado obsoleta. Recomendamos usar la interfaz *ifUserData* en su lugar.
:::

## ifAudioControlMx

### SetDecoderCount(a As Integer) As Boolean

