Accessoires | Propriétés | Méthodes | Evénements

Accessoires

Accessoire Type Exigée Description
sessionId Chaîne Non Identifiant de session OpenTok. Ce champ est renseigné automatiquement lors de l'encapsulation OTSubscriber avec OTSession
streamId Chaîne Non streamId de l'abonné OpenTok. Ce champ est renseigné automatiquement dans le OTSubscriber composant lorsque streamCreated l'événement est déclenché à partir de l'instance native
propriétés Objet Non Propriétés transmises à l'instance native de l'abonné
propriétés du flux Objet Non Permet de mettre à jour les propriétés d'une instance d'abonné spécifique
gestionnaires d'événements Objet<Fonction> Non Gestionnaires d'événements transmis à l'instance native de l'abonné
s'abonner à soi-même Booléen Non Si cette option est définie sur « true », l'abonné peut s'abonner à son propre flux d'éditeur (par défaut : « false »)
enfants Fonction Non Une propriété de rendu permettant le rendu individuel de chaque flux

Propriétés

  • s'abonner à l'audio (Booléen) — Indique s'il faut s'abonner au flux audio.

  • s'abonner à la chaîne (Booléen) — Indique s'il faut s'abonner à la chaîne vidéo.

  • s'abonner aux sous-titres (Booléen) — Indique s'il faut s'abonner aux sous-titres. Notez que les sous-titres doivent être activés pour la session (à l'aide de la méthode REST de la Video API ou du SDK serveur) et que l'éditeur doit diffuser des sous-titres. Pour plus d'informations, consultez la Guide du développeur Live Captions.

  • résolution préférée (Chaîne) — Définit la résolution souhaitée pour la vidéo de l'abonné. Le format de la chaîne de caractères est « largeurxhauteur », où la largeur et la hauteur sont exprimées en pixels. Les valeurs valides sont « 1280x720 », « 640x480 » et « 352x288 ».

  • taux d'images préféré (Numbers) — Définissez ici la fréquence d'images souhaitée (en images par seconde). Si vous définissez cette valeur sur « null », la fréquence d'images préférée sera supprimée et le client utilisera la fréquence d'images la plus élevée disponible. Les valeurs valides sont 30, 15, 7 et 1.

  • volume audio (Numbers) — Permet de régler le volume audio de l'abonné, entre 0 et 100. Si la valeur ne se situe pas dans cette plage, elle sera limitée à celle-ci.

  • scaleBehavior (Chaîne) - Définit la manière dont la vidéo est redimensionnée lors du rendu. Les valeurs prises en charge sont les suivantes : fill (par défaut) et fit. Cette propriété n'est actuellement prise en charge que sur iOS.

Les OTSubscriber Le composant s'abonnera à un flux spécifié provenant d'une session spécifiée lors de son montage. Le OTSubscriber Le composant cessera de s'abonner et se désabonnera lors de son démontage.

Méthodes

getRtcStatsReport(streamId) Récupère le rapport statistique RTC pour l'abonné au flux dont l' ID est spécifié. Il s'agit d'une opération asynchrone. L'objet OTSubscriber envoie une rtcStatsReport événement lorsque les statistiques RTC relatives à l'abonné sont disponibles.

Evénements

  • niveau audio (SubscriberAudioLevelEvent) — Envoyé à intervalles réguliers avec la valeur représentative récente du niveau audio. Voir Événement de niveau audio de l'abonné

  • audioNetworkStats (Objet) — Envoyé périodiquement pour communiquer les statistiques audio relatives à l'abonné. Un AudioNetworkStats L'objet est transmis au gestionnaire d'événements.

  • légendeReçu (Objet) — Envoyé lorsqu'une légende est reçue pour l'abonné. A Légende reçue L'objet est transmis au gestionnaire d'événements.

  • connecté () — Envoyé lorsque l'abonné se connecte avec succès au flux. L'objet d'événement comprend un streamId propriété permettant d'identifier le flux.

  • déconnecté () — Appelée lorsque le flux de l'abonné a été interrompu.

  • erreur (Objet) — Envoyé si l'abonné ne parvient pas à se connecter à son flux.

  • otrnError (Objet) — Envoyé en cas d'erreur de communication entre l'instance native de l'abonné et le composant JS.

  • rtcStatsReport (Objet) -- Envoyé lorsque les rapports statistiques RTC sont disponibles pour l'abonné, en réponse à l'appel de la fonction OTSubscriber.getRtcStatsReport() méthode. A Événement « Rapport sur les statistiques RTC des abonnés » L'objet est transmis au gestionnaire d'événement. Cet objet d'événement possède les propriétés suivantes :

    • jsonArrayOfReports propriété, qui est un tableau JSON de type RTCStatsReport correspondant au flux multimédia. La structure de ce tableau JSON est similaire au format de l'objet RtcStatsReport implémenté dans les navigateurs Web (voir la Documentation Mozilla). Voir aussi cette documentation du W3C.

    • stream -- Un objet représentant le flux de l'abonné. Cet objet comprend un streamId propriété permettant d'identifier le flux.

  • videoDataReceived () - Envoyé lorsqu'une image vidéo a été décodée. Bien que la connexion de l'abonné s'établisse relativement rapidement, la synchronisation de la vidéo peut prendre plus de temps. Ce message est envoyé après la connected est envoyé.

  • vidéo désactivée (Chaîne de caractères) — Ce message est envoyé lorsque l'abonné ne reçoit plus la vidéo. Consultez le paramètre « reason » pour connaître la raison de l'interruption de la vidéo.

  • videoDisableWarning () - Ce message est envoyé lorsque le routeur multimédia OpenTok détecte une dégradation de la qualité du flux et indique que la vidéo sera désactivée si cette dégradation se poursuit. Si la qualité continue de se dégrader, l'abonné désactive la vidéo et le videoDisabled le message est envoyé. Si la qualité du flux s'améliore, le videoDisableWarningLifted est envoyé.

  • videoDisableWarningLifted () — Ce message est envoyé lorsque le flux vidéo de l'abonné démarre (alors qu'il n'y avait auparavant aucune vidéo) ou reprend (après une interruption de la vidéo). Consultez le paramètre « reason » pour connaître la raison pour laquelle la vidéo a démarré (ou repris).

  • videoEnabled (Chaîne de caractères) - Ce message est envoyé lorsque le flux vidéo de l'abonné démarre (alors qu'il n'y avait auparavant aucune vidéo) ou reprend (après une interruption de la vidéo). Consultez le paramètre « reason » pour connaître la raison pour laquelle la vidéo a démarré (ou repris).

  • statistiques du réseau vidéo (Objet) — Envoyé périodiquement pour communiquer les statistiques vidéo de l'abonné. A Événement VideoNetworkStats L'objet est transmis au gestionnaire d'événements.

Exemple

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>
    );
  }
}

Affichage personnalisé des flux

Vous pouvez contrôler l'affichage de chaque abonné aux flux. Voir Rendu personnalisé des abonnés.