Atrezo | Propiedades | Métodos | Eventos

Atrezo

Atrezo Tipo Requerido Descripción
sessionId Cadena No ID de sesión de OpenTok. Este campo se rellena automáticamente al envolver OTSubscriber con OTSession
streamId Cadena No streamId del suscriptor de OpenTok. Este campo se rellena automáticamente dentro del OTSubscriber componente cuando streamCreated El evento se activa desde la instancia nativa
propiedades Objeto No Propiedades que se pasan a la instancia del suscriptor nativo
streamProperties Objeto No Se utiliza para actualizar las propiedades de una instancia de suscriptor concreta
manejadores de eventos Objeto<Función> No Manipuladores de eventos pasados a la instancia nativa del suscriptor
suscribirse a uno mismo Booleano No Si se establece en «true», el suscriptor puede suscribirse a su propio flujo de publicación (por defecto: «false»)
niños Función No Una propiedad de renderizado que permite renderizar cada flujo de forma independiente

Propiedades

  • suscribirse al audio (Booleano) — Indica si se desea suscribirse al audio.

  • suscribirse al canal (Booleano) — Indica si se desea suscribirse al vídeo.

  • subscribeToCaptions (Booleano) — Indica si se desea suscribirse a los subtítulos. Ten en cuenta que la sesión debe tener los subtítulos activados (mediante el método REST de la Video API o el SDK del servidor) y que el editor debe estar publicando subtítulos. Para obtener más información, consulta el Guía para desarrolladores de Live Captions.

  • resolución preferida (Cadena) — Establece la resolución preferida del vídeo del suscriptor. El formato de la cadena es «anchorxaltor», donde el ancho y el alto se expresan en píxeles. Los valores válidos son «1280x720», «640x480» y «352x288».

  • preferredFrameRate (Número) — Establece aquí la frecuencia de fotogramas deseada (en fotogramas por segundo). Si se establece en nulo, se elimina la frecuencia de fotogramas preferida y el cliente utilizará la frecuencia de fotogramas más alta disponible. Los valores válidos son 30, 15, 7 y 1.

  • audioVolumen (Número) — Establece el volumen de audio del abonado, entre 0 y 100. Si el valor no se encuentra dentro de este intervalo, se ajustará a él.

  • scaleBehavior (Cadena) - Define cómo se escala el vídeo al renderizarse. Los valores admitidos son fill (por defecto) y fit. Actualmente, esta propiedad solo es compatible con iOS.

El OTSubscriber El componente se suscribirá a un flujo específico de una sesión determinada al montarse. El OTSubscriber El componente dejará de suscribirse y se dará de baja al desmontarse.

Métodos

getRtcStatsReport(streamId) Obtiene el informe de estadísticas de RTC para el suscriptor del flujo con el ID de flujo especificado. Se trata de una operación asíncrona. El objeto OTSubscriber envía una rtcStatsReport evento cuando las estadísticas de RTC del abonado estén disponibles.

Eventos

  • nivel de audio (SubscriberAudioLevelEvent) — Se envía a intervalos regulares con el nivel de audio representativo más reciente. Véase Evento de nivel de audio del suscriptor

  • audioNetworkStats (Objeto) — Se envía periódicamente para informar de las estadísticas de audio del abonado. Un AudioNetworkStats El objeto se pasa al controlador de eventos.

  • leyendaRecibido (Objeto) — Se envía cuando se recibe un subtítulo para el suscriptor. A Leyenda recibida El objeto se pasa al controlador de eventos.

  • conectado () — Se envía cuando el suscriptor se conecta correctamente a la transmisión. El objeto de evento incluye un streamId propiedad que identifica el arroyo.

  • desconectado () — Se invoca cuando se ha interrumpido la transmisión del suscriptor.

  • error (Objeto) — Se envía si el suscriptor no consigue conectarse a su flujo.

  • otrnError (Objeto) — Se envía si se produce un error en la comunicación entre la instancia nativa del suscriptor y el componente JS.

  • rtcStatsReport (Objeto) -- Se envía cuando hay informes de estadísticas de RTC disponibles para el abonado, en respuesta a la llamada a la función OTSubscriber.getRtcStatsReport() método. A Evento de informe de estadísticas de RTC del suscriptor El objeto se pasa al controlador de eventos. Este objeto de evento tiene las siguientes propiedades:

    • jsonArrayOfReports propiedad, que es una matriz JSON de RTCStatsReport para la transmisión multimedia. La estructura de la matriz JSON es similar al formato del objeto RtcStatsReport implementado en los navegadores web (véase el Documentación de Mozilla). Véase también esta documentación del W3C.

    • stream -- Un objeto que representa el flujo del suscriptor. Este objeto incluye un streamId propiedad que identifica el arroyo.

  • videoDataReceived () - Se envía cuando se ha descodificado un fotograma de vídeo. Aunque el abonado se conectará en un tiempo relativamente corto, la sincronización del vídeo puede tardar más tiempo. Este mensaje se envía después de que el connected se envía el mensaje.

  • vídeo desactivado (Cadena) — Este mensaje se envía cuando el suscriptor deja de recibir el vídeo. Consulta el parámetro «reason» para conocer el motivo por el que se ha interrumpido la transmisión del vídeo.

  • videoDesactivarAviso () - Este mensaje se envía cuando el OpenTok Media Router detecta que la calidad de la transmisión se ha deteriorado y que el vídeo se desactivará si la calidad sigue empeorando. Si la calidad sigue empeorando, el suscriptor desactiva el vídeo y el videoDisabled Se envía el mensaje. Si la calidad de la transmisión mejora, el videoDisableWarningLifted se envía el mensaje.

  • videoAdvertencia desactivada () — Este mensaje se envía cuando se inicia la transmisión de vídeo del suscriptor (cuando antes no había vídeo) o cuando se reanuda (tras haber desactivado el vídeo). Consulta el parámetro «reason» para conocer el motivo por el que se ha iniciado (o reanudado) el vídeo.

  • videoEnabled (Cadena) - Este mensaje se envía cuando se inicia la transmisión de vídeo del suscriptor (cuando antes no había vídeo) o cuando se reanuda (tras haber desactivado el vídeo). Consulta el parámetro «reason» para conocer el motivo por el que se ha iniciado (o reanudado) el vídeo.

  • videoNetworkStats (Objeto) — Se envía periódicamente para informar de las estadísticas de vídeo del suscriptor. A VideoNetworkStatsEvent El objeto se pasa al controlador de eventos.

Ejemplo

class App extends Component {
  constructor(props) {
    super(props);
    this.state = {
      streamProperties: {},
    };

    this.subscriberProperties = {
      subscribeToAudio: false,
      subscribeToVideo: true,
      subscribeToCaptions: false,
    };

    this.sessionEventHandlers = {
      streamCreated: event => {
        const streamProperties = {...this.state.streamProperties, [event.streamId]: {
          subscribeToAudio: true,
          subscribeToVideo: false,
          style: {
            width: 400,
            height: 300,
          },
        }};
        this.setState({ streamProperties });
      },
    };

    this.subscriberEventHandlers = {
      error: (error) => {
        console.log(`There was an error with the subscriber: ${error}`);
      },
      audioNetworkStats: event => {
        console.log('audioNetworkStats', event);
        // { timeStamp: 1643203644833, audioPacketsLost: 0, audioPacketsReceived: 64, audioBytesReceived: 5574 }
      },
      videoNetworkStats: event => {
        console.log('videoNetworkStats', event);
        // videoBytesReceived: 706635, videoPacketsLost: 0, timeStamp: 1643203644724, videoPacketsReceived: 656 }
      },
    };
  }

  render() {
    return (
      <OTSession apiKey="your-api-key" sessionId="your-session-id" token="your-session-token" eventHandlers={this.sessionEventHandlers}>
        <OTSubscriber
          properties={this.subscriberProperties}
          eventHandlers={this.subscriberEventHandlers}
          style={{ height: 100, width: 100 }}
          streamProperties={this.state.streamProperties}
        />
      </OTSession>
    );
  }
}

Representación personalizada de flujos

Puedes controlar la visualización de cada uno de los suscriptores de las transmisiones. Consulta Representación personalizada de los abonados.