Propriétés | objet « propriétés » | Méthodes | Evénements

Les OTPublisher Le composant initialisera un éditeur et publiera vers la session spécifiée lors de son montage. Pour détruire l'éditeur, démontez le OTPublisher composant. Veuillez noter que la vue de l'éditeur n'est pas supprimée, sauf si vous démontez expressément le OTPublisher de la composante.

Ajoutez le composant OTPublisher en tant qu'enfant du composant OTSession :

class App extends Component {
  constructor(props) {
    super(props);

    this.publisherProperties = {
      publishAudio: true,
      publishVideo: false,
      publishCaptions: true,
      cameraPosition: 'front'
    };

    this.publisherEventHandlers = {
      streamCreated: event => {
        console.log('Publisher stream created!', event);
      },
      streamDestroyed: event => {
        console.log('Publisher stream destroyed!', event);
      }
    };
  }

  render() {
    return (
      <OTSession apiKey="your-api-key" sessionId="your-session-id" token="your-session-token">
        <OTPublisher
          properties={this.publisherProperties}
          eventHandlers={this.publisherEventHandlers}
          style={{ height: 100, width: 100 }}
        />
      </OTSession>
    );
  }
}

Accessoires

Le composant OTPublisher dispose des propriétés suivantes, qui sont toutes facultatives :

  • sessionId (Chaîne) -- L'identifiant de session OpenTok. Il est renseigné automatiquement lors de l'encapsulation OTPublisher avec OTSession, vous n'avez donc généralement pas besoin de définir cette propriété pour l'OTPublisher.

  • properties (Objet) -- Options relatives à l'instance de l'éditeur. Voir la section suivante, objet « propriétés ». Les properties Cet objet sert à la configuration initiale de Publisher. Le OTPublisher L'objet surveille les modifications apportées à certaines clés de la properties objet, et y apporte les modifications nécessaires. Actuellement, celles-ci sont les suivantes :

    • cameraPosition -- Permet de définir la caméra sur « avant » ou « arrière ».

    • publishAudio -- Active le son (true) ou désactivé false.

    • publishVideo -- Active la vidéo (true) ou désactivé false.

    • publishCaptions -- Active ou désactive les légendes (true) ou désactivé false pour le flux publié.

  • eventHandlers (Objet) -- Objet contenant des paires clé-valeur composées de noms d'événements et de fonctions de rappel pour les gestionnaires d'événements. Voir Evénements.

objet « propriétés »

Les properties L'objet transmis à l'objet OTPublisher possède les propriétés suivantes :

  • autoriserLaCaptureAudioEnModeSilencieux (Booléen) Si cette option est définie sur « false », le microphone sera automatiquement désactivé lorsque l'éditeur aura coupé le son. Le microphone sera automatiquement réactivé lorsque l'éditeur réactivera le son. Si cette option est définie sur « true », le microphone restera toujours activé, même lorsque l'éditeur aura coupé le son. La valeur par défaut est « false ».

  • audioBitrate (Nombres) -- Débit binaire souhaité pour l'audio publié, en bits par seconde. La plage de valeurs prise en charge est comprise entre 6 000 et 510 000. (Les valeurs non valides sont ignorées.) Définissez cette valeur pour activer un son de haute qualité (ou pour réduire l'utilisation de la bande passante avec un son de qualité inférieure).

    Les paramètres suivants sont recommandés :

    • 8 000 - 12 000 pour la parole en bande étroite (NB)
    • 16 000 - 20 000 pour la parole à large bande (WB)
    • 28 000 - 40 000 pour la parole en bande complète (FB)
    • 48 000 - 64 000 pour la musique à bande complète (FB)
    • 64 000 - 128 000 pour la musique stéréo à bande complète (FB)

    La valeur par défaut est 40 000.

  • audioFallbackEnabled (Objet) —- Paramètres pour le fonctionnalité de repli audio. Les audioFallback comprend deux propriétés booléennes :

    • publisher - Activer ou non (true) ou désactiver (false) Récupération audio côté éditeur. Lorsque la récupération audio côté éditeur est activée, si la qualité du flux se dégrade considérablement (par exemple en raison des conditions du réseau), l'éditeur désactive la vidéo afin de préserver la qualité audio. La valeur par défaut est false (le repli audio de l'éditeur est désactivé).

    • subscriber - Activer ou non (true) ou désactiver (false) de l'abonné. Ce paramètre ne s'applique qu'aux sessions acheminées (sessions qui utilisent la fonction Routeur multimédia OpenTok). La fonction de repli audio pour les abonnés n'est pas prise en charge dans les sessions relayées. Lorsque cette fonction est activée, si le routeur multimédia OpenTok détecte une dégradation significative de la qualité d'un flux pour un abonné donné, il désactive la vidéo pour cet abonné afin de préserver la qualité audio. Pour les flux utilisant une caméra comme source vidéo, le paramètre par défaut est true (la fonctionnalité de repli audio est activée). Le paramètre par défaut est false (la fonctionnalité de repli audio est désactivée) pour les flux de partage d'écran ( qui disposent de la videoSource propriété définie sur « screen » dans le composant OTPublisher). Ce paramètre remplace le audioFallbackEnabled qui sera dépréciée.

  • audioFallbackEnabled (Booléen) —- Obsolète. Cette option est remplacée par la subscriber de la propriété audioFallback propriété (voir ci-dessus).

  • piste audio (Booléen) -- Si cette propriété est définie sur « false », le sous-système audio ne sera pas initialisé pour l'éditeur, et la définition de la publishAudio Cette propriété n'aura aucun effet. Si votre application ne nécessite pas l'utilisation de l'audio, il est recommandé de définir cette propriété plutôt que d'utiliser la propriété `publishAudio`, qui ne désactive la piste audio que temporairement.

  • positionDeLaCaméra (Chaîne de caractères) -- Position préférée de la caméra. Lorsque cette propriété est définie, si la modification est possible, l'éditeur utilisera la caméra avec la position spécifiée. Les valeurs valides sont « front » (par défaut) et « back ».

  • appareil photo/lampe de poche (Booléen) -- Mode « lampe de poche » (torche) privilégié pour la caméra. La configuration de cette propriété indique si l'éditeur doit activer (true) ou désactiver (false, par défaut) la lampe torche de l'appareil photo, lorsqu'elle est disponible. Notez qu'il s'agit d'un paramètre de préférence qui peut ne pas s'appliquer si l'appareil photo actif ne prend pas en charge la fonctionnalité de lampe torche (par exemple, l'appareil photo avant ne prend généralement pas en charge la lampe torche).

  • cameraZoomFactor (Numbers) -- Le facteur de zoom (rapport) souhaité pour la caméra. Une valeur de 1,0 correspond à l'absence de zoom (vue par défaut). La valeur est comprise entre 0,5 et le facteur de zoom maximal. Les valeurs comprises entre 0,5 et 1,0 correspondent à un angle ultra-grand angle (zoom arrière) et celles comprises entre 1,0 et le facteur de zoom maximal correspondent à un zoom avant. Le facteur de zoom effectivement appliqué est automatiquement limité à la plage prise en charge par la configuration de la caméra active : si la caméra ne prend pas en charge l’ultra-grand angle, les facteurs de zoom inférieurs à 1,0 ne seront pas pris en compte et aucun zoom ne sera appliqué. Pour les valeurs supérieures au facteur de zoom maximal pris en charge par la caméra, le facteur de zoom sera défini sur la valeur maximale.

  • préférence de dégradation (DegradationPreference) -- La politique de dégradation vidéo privilégiée en cas de bande passante ou de ressources CPU limitées.

  • activerDtx (Booléen) - Indique s'il faut activer Opus DTX. La valeur par défaut est false. En activant cette option, vous pouvez réduire la consommation de bande passante dans les flux comportant de longues périodes de silence.

  • fréquence d'images (Nombre) - Fréquence d'images souhaitée pour la vidéo, exprimée en images par seconde. Les valeurs valides sont 30, 15, 7 et 1. Le flux publié utilisera la valeur la plus proche prise en charge par le client de publication. La fréquence d'images peut légèrement différer de la valeur que vous avez définie, en fonction de l'appareil du client. De plus, la vidéo n'utilisera la fréquence d'images souhaitée que si la configuration du client la prend en charge.

  • maxVideoBitrate (Nombre) - Débit binaire maximal du flux vidéo de l'éditeur, en bits par seconde (bps). Cette propriété définit une limite supérieure explicite pour le débit binaire de la vidéo de l'éditeur, comprise entre 5 000 et 10 000 000. Le maxVideoBitrate La propriété a la priorité sur la videoBitratePreset propriété. Si les deux sont définies, seule la maxVideoBitrate propriété est utilisée. Pour plus d'informations, consultez cette documentation.

  • nom (Chaîne) -- Une chaîne qui sera associée au flux de cet éditeur. Cette chaîne s'affiche au bas des vidéos de l'éditeur et au bas des vidéos des abonnés associées au flux publié. Si vous ne spécifiez pas de valeur, le nom correspondra à celui de l'appareil.

  • codecs vidéo préférés (PreferredVideoCodecs) -- Priorité des codecs vidéo préférés pour la publication. Ce paramètre peut être défini sur « automatic » ou sur un tableau de codecs vidéo classés par ordre de préférence. Les codecs vidéo pris en charge sont « vp8 », « vp9 » et « h264 ». Les noms de codecs vidéo sont sensibles à la casse et doivent être « vp8 », « vp9 » ou « h264 » pour être valides. Définissez cette option sur « automatic » pour laisser le SDK sélectionner l’ordre le plus approprié. Si cette option est omise, le SDK utilise le paramètre par défaut du projet. Si des codecs vidéo non valides sont inclus dans le tableau, ils seront ignorés et les codecs vidéo valides seront classés par ordre de priorité selon leur ordre d’apparition. Si un tableau vide est transmis, ou si une chaîne vide est fournie, ou encore si une chaîne autre que « automatic » est fournie, le SDK utilise le paramètre par défaut du projet. Pour plus d’informations, consultez cette documentation.

  • publierAudio (Booléen) -- Indique s'il faut publier le son. La valeur par défaut est true.

  • publier une vidéo (Booléen) -- Indique s'il faut publier la vidéo. La valeur par défaut est true.

  • afficher les légendes (Booléen) — Indique s'il faut publier les 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 du contenu audio. Pour plus d'informations, consultez la Guide du développeur Live Captions.

  • publishSenderStats (Booléen) - Active un canal de statistiques de l'expéditeur pour l'éditeur. Actuellement, cette fonctionnalité ne prend en charge que les appels comptant plus de deux participants. Pour plus d'informations, consultez cette documentation.

  • partage d'écran adaptatif (Booléen) -- Indique s'il faut autoriser l'utilisation de {scalable video}(/developer/guides/scalable-video/) pour un éditeur proposant le partage d'écran (true) ou non (false, valeur par défaut). Cela ne s'applique qu'aux éditeurs disposant de la videoSource définir sur « écran ».

  • 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.

  • résolution (Chaîne) - La résolution souhaitée pour la vidéo. 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 « 1920x1080 », « 1280x720 », « 640x480 » et « 352x288 ». La vidéo publiée n'utilisera la résolution souhaitée que si la configuration du client la prend en charge. Certains appareils et clients ne prennent pas en charge l'ensemble de ces paramètres de résolution.

  • préréglage de débit binaire vidéo (Chaîne) - Stratégie de préréglage du débit binaire vidéo appliquée au flux vidéo de l'éditeur. Définissez cette propriété sur l'une des valeurs de chaîne suivantes : « default », « bw_saver » ou « extra_bw_saver ». Cette propriété est ignorée si le videoBitratePreset La propriété est définie. Si aucune des deux n'est définie, l'éditeur utilise le préréglage par défaut. Pour plus d'informations, consultez cette documentation.

  • videoContentHint (Chaîne) -- Définit l'indication de contenu de la piste vidéo du flux de l'éditeur. Vous pouvez attribuer l'une des valeurs suivantes : « », « motion », « details » ou « text ». Pour plus d'informations, consultez la la documentation pour les videoContentHint option de la OT.initPublisher() méthode du SDK OpenTok.js.

  • videoTrack (Booléen) -- Si cette propriété est définie sur « false », le sous-système vidéo ne sera pas initialisé pour l'éditeur, et la définition de la propriété « publishVideo » n'aura aucun effet. Si votre application ne nécessite pas l'utilisation de la vidéo, il est recommandé de définir cette propriété plutôt que d'utiliser la propriété `publishVideo`, qui ne désactive la piste vidéo que temporairement.

  • source de la vidéo (Chaîne) -- Pour diffuser un flux de partage d'écran, définissez cette propriété sur « screen ». Si vous ne spécifiez pas de valeur, la valeur par défaut sera « camera ».

Méthodes

getRtcStatsReport() Récupère le rapport statistique RTC pour l'éditeur. Il s'agit d'une opération asynchrone. L'objet OTPublisher envoie une rtcStatsReport événement lorsque les statistiques RTC de l'éditeur sont disponibles.

setAudioTransformers() -- Définit les transformateurs audio pour l'éditeur.

<P class="important"> <B>Important :</B> Pour utiliser cette méthode, vous devez ajouter la bibliothèque Vonage Media Transformer à votre projet, indépendamment du SDK OpenTok pour React Native. Pour plus de détails, consultez Intégration de la médiathèque de Vonage. </p>

Un seul transformateur audio est pris en charge : le filtre de suppression du bruit.

Cette méthode prend un seul paramètre : un tableau d'objets définissant chaque transformateur à appliquer au flux de l'éditeur. Un objet transformateur possède deux propriétés :

  • name (Chaîne) -- Définissez cette valeur sur 'NoiseSuppression'.

  • properties (Chaîne) -- Définissez cette valeur sur une chaîne vide.

Pour supprimer les transformateurs audio du flux publié, appelez la fonction OTPublisher.setAudioTransformers() et transmet un tableau vide.

Important : Les transformations multimédias, telles que le filtre de suppression du bruit, sont gourmandes en ressources et nécessitent des appareils dotés d'une puissance de traitement élevée. Il est recommandé de n'utiliser ces transformations que sur les appareils compatibles. Consultez la documentation suivante :

Pour plus d'informations sur les transformateurs, consultez Utilisation de la bibliothèque Vonage Media Processor

setVideoTransformers() -- Définit les transformateurs vidéo pour l'éditeur.

<P class="important"> <B>Important :</B> À partir de la version 2.28.0 du SDK Vonage Video pour React Native, pour utiliser cette méthode, vous devez ajouter la bibliothèque multimédia Vonage séparément du SDK Vonage Video pour React Native. Pour plus de détails, consultez Intégration de la médiathèque de Vonage. </p>

Cette méthode prend un seul paramètre : un tableau d'objets définissant chaque transformateur à appliquer au flux de l'éditeur. Un objet transformateur possède deux propriétés :

  • name (Chaîne) -- Soit « BackgroundBlur » (pour un filtre de flou d'arrière-plan), soit « BackgroundReplacement » (pour un filtre de remplacement d'image d'arrière-plan).

  • properties (Chaîne) -- Une chaîne JSON contenant les propriétés du transformateur vidéo Vonage.

    Pour un transformateur de flou d'arrière-plan, le format du fichier JSON est le suivant :

    `{
       "radius" :"None"
     }`
    

    Les valeurs autorisées pour la propriété « radius » sont « None », « High » et « Low ».

    Pour un transformateur de flou d'arrière-plan personnalisé, le format du fichier JSON est le suivant :

    `{
      "radius": "Custom",
      "custom_radius": "value"
    }`
    

    custom_radius peut être n'importe quel nombre entier positif.

    Pour un transformateur de remplacement d'arrière-plan, le format du fichier JSON est le suivant :

    `{
      "image_file_path": "path/to/image"
    }`
    

    image_file_path est le chemin d'accès absolu à une image locale à utiliser comme arrière-plan virtuel. Les formats d'image pris en charge sont PNG et JPEG.

Pour supprimer les transformateurs vidéo du flux publié, appelez la méthode OTPublisher.setVideoTransformers() et transmet un tableau vide.

Important : Les transformations multimédias, telles que le flou d'arrière-plan et le remplacement d'arrière-plan, sollicitent fortement les ressources et nécessitent des appareils dotés d'une puissance de traitement élevée. Il est recommandé de n'utiliser ces transformations que sur les appareils compatibles. Consultez la documentation suivante :

Pour plus d'informations sur les transformateurs, consultez Utilisation de la bibliothèque Vonage Media Processor

Evénements

  • niveau audio (Numbers) -- Le niveau audio, compris entre 0 et 1,0. Réglez cette valeur de manière logarithmique pour l'utiliser dans le cadre du réglage d'un élément d'interface utilisateur, tel qu'un indicateur de volume. Utilisez une moyenne mobile pour lisser les données.

  • audioNetworkStats (Objet) — Envoyé périodiquement pour communiquer des statistiques audio concernant l'éditeur. A Événement PublisherAudioNetworkStats L'objet est transmis au gestionnaire d'événements.

  • erreur (Objet) -- Envoyé si l'éditeur rencontre une erreur. Une fois ce message envoyé, l'éditeur peut être considéré comme totalement dissocié d'une session et peut être libéré.

  • muteForced -- Envoyé lorsqu'un modérateur a forcé ce client à couper le son.

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

  • rtcStatsReport (Objet) -- Envoyé lorsque les rapports statistiques RTC sont disponibles pour l'éditeur, en réponse à l'appel de la méthode OTPublisher.getRtcStatsReport() méthode. A Événement PublisherRtcStatsReport L'objet est transmis au gestionnaire d'événements. Cet événement contient un tableau d' objets. Pour une session routée (une session qui utilise le Routeur multimédia OpenTok), ce tableau contient un objet définissant les statistiques relatives au flux multimédia vidéo unique envoyé au routeur multimédia OpenTok. Dans une session relayée, le tableau contient un objet pour chaque abonné au flux publié. Chaque objet comporte deux propriétés :

    • connectionId -- Dans le cas d'une session relayée (dans laquelle un éditeur envoie des flux multimédias individuels à chaque abonné), il s'agit de l'identifiant unique de la connexion du client.

    • jsonArrayOfReports -- Un tableau JSON contenant les rapports de statistiques RTC pour le flux multimédia. La structure de ce tableau JSON est similaire au format de l'objet `RtcStatsReport` implémenté dans les navigateurs Web (voir le Documentation Mozilla). Voir aussi cette documentation du W3C.

  • streamCreated (Objet) -- Envoyé lorsque l'éditeur commence la diffusion en continu. A événement en streaming L'objet est transmis au gestionnaire d'événements.

  • streamDestroyed (Objet) -- Envoyé lorsque l'éditeur interrompt la diffusion en continu. A événement en streaming L'objet est transmis au gestionnaire d'événements.

  • vidéo désactivée -- Envoyé lorsque l'éditeur cesse de diffuser la vidéo en raison de repli audio de l'éditeur.

  • videoDisableWarning -- Envoyé lorsque l'éditeur est sur le point de basculer en mode « audio uniquement » en raison d'une dégradation des conditions du réseau. Voir repli audio de l'éditeur.

  • videoDisableWarningLifted -- Envoyé après un événement « videoDisableWarning » lorsque les conditions réseau s'améliorent. Voir repli audio de l'éditeur.

  • videoEnabled -- Envoyé lorsque l'éditeur reprend la diffusion de la vidéo après l'avoir désactivée en raison de repli audio de l'éditeur.

  • statistiques du réseau vidéo (Objet) -- Envoyé périodiquement pour communiquer des statistiques audio concernant l'éditeur. A Événement PublisherVideoNetworkStats L'objet est transmis au gestionnaire d'événements.