La première étape pour utiliser la Video API Vonage consiste à appeler la OT.initSession()
méthode. D'autres méthodes de l'objet OT vérifient la configuration système requise et configurent la journalisation des erreurs.
Méthodes
| Nom | Description |
|---|---|
(static) addEventListener(type, listener) |
Cette méthode est obsolète. |
(static) checkScreenSharingCapability(callback) → {Promise.<ScreenSharingCapabilityResponse>} |
Vérifie si le navigateur client prend en charge la publication de flux de partage d'écran. |
(static) checkSystemRequirements() → {Number} |
Vérifie si le système prend en charge la Video API de Vonage pour WebRTC. |
(static) getActiveAudioOutputDevice() |
Renvoie une Promise qui identifie le périphérique de sortie audio actuel. |
(static) getAudioOutputDevices() |
Répertorie les périphériques de sortie audio (tels que les haut-parleurs) disponibles pour le navigateur. |
(static) getDevices(callback) → {Promise.<Array.<Device>>} |
Répertorie les périphériques d'entrée audio (tels que les microphones) et les périphériques d'entrée vidéo (caméras) disponibles pour le navigateur. |
(static) getSupportedCodecs() → {Promise} |
Récupère la liste des codecs pris en charge pour l'encodage et le décodage des flux vidéo. |
(static) getUserMedia(options) → {Promise} |
Récupère un objet MediaStream qui utilise un microphone et une caméra comme sources audio et vidéo. |
(static) hasEndToEndEncryptionSupport() → {Boolean} |
Si le client prend en charge le chiffrement de bout en bout. |
(static) hasMediaProcessorSupport(mediaType) → {Boolean} |
Si le client prend en charge les processeurs multimédias, tels que les filtres vidéo et audio. |
(static) initPublisher(targetElement, properties, completionHandler) → {Publisher} |
Initialise et renvoie un objet Publisher. |
(static) initSession(apiKey, sessionId, options) → {Session} |
Initialise et renvoie l'objet de session local correspondant à un identifiant de session spécifié. |
(static) log(message) |
Envoie une chaîne de caractères à la console du débogueur. |
(static) off(type, handler, context) |
Supprime un gestionnaire d'événements. |
(static) on(type, handler, context) |
Ajoute une fonction de gestion d'événements pour un ou plusieurs événements. |
(static) once(type, handler, context) |
Ajoute une fonction de gestion d'événement pour un événement. |
(static) registerScreenSharingExtension(kind, id, version) |
Enregistrez une extension permettant de prendre en charge le partage d'écran dans une ancienne version de Chrome ou d'Opera. |
(static) removeEventListener(type, listener) |
Cette méthode est obsolète. |
(static) reportIssue(completionHandler) → {Promise.<string>} |
Signalez un problème rencontré avec votre application. |
(static) setAudioOutputDevice() → {Promise} |
Définit le nouveau périphérique de sortie audio. |
(static) setLogLevel(logLevel) |
Définit le niveau de journalisation de l'API. |
(static) setProxyUrl() |
Définit l'URL du serveur proxy IP. |
(static) unblockAudio() |
Permet la lecture du contenu audio des abonnés dans les navigateurs où l'audio est bloqué. |
(static) upgradeSystemRequirements() |
Affiche des informations sur la configuration système requise pour la Video API Vonage pour WebRTC. |
(statique) addEventListener(type, listener)
Cette méthode est obsolète. Utilisez on() ou une fois() au lieu de cela.
Enregistre une méthode en tant qu'écouteur d'événement pour un événement spécifique.
L'objet OT génère un seul type d'événement : un exception événement. Le
code suivant ajoute un écouteur d'événement pour le exception événement :
OT.addEventListener("exception", exceptionHandler);
function exceptionHandler(event) {
alert("exception event. \n code == " + event.code + "\n message == " + event.message);
}
Si aucun gestionnaire n'est enregistré pour un événement, celui-ci est ignoré localement. Si la fonction d'écoute de l'événement n'existe pas, l'événement est ignoré localement.
Lance une exception si le listener Le nom n'est pas valide.
Paramètres :
| Nom | Type | Description |
|---|---|---|
type |
Chaîne | La chaîne de caractères identifiant le type d'événement. |
listener |
fonction | Fonction à appeler lorsque l'objet OT déclenche l'événement. |
Voir : : - on() - une fois()
(statique) checkScreenSharingCapability(callback) → {Promise.<ScreenSharingCapabilityResponse>}
Vérifie si la publication de flux de partage d'écran est prise en charge par le navigateur client. L'objet renvoyé par la promesse indique si le partage d'écran est pris en charge, ainsi que les sources de partage d'écran (application, écran ou fenêtre) qui sont prises en charge. Il indique également si une extension est requise, installée et enregistrée (le cas échéant).
const response = await OT.checkScreenSharingCapability();
if (!response.supported || response.extensionRegistered === false) {
// This browser does not support screen sharing
} else if (response.extensionInstalled === false) {
// Prompt to install the extension
} else {
// Screen sharing is available.
}
Cet objet possède les propriétés suivantes, qui indiquent que le client prend en charge la publication de flux de partage d'écran :
extensionInstalled(Booléen) — Dans les anciennes versions de Chrome et d'Opera, cette valeur est définie surtruesi l'extension est installée et enregistrée. Dans Chrome 72 et versions ultérieures, Firefox 52 et versions ultérieures, Safari 13 et versions ultérieures, Opera 59 et versions ultérieures, Edge 79 et versions ultérieures, ainsi que dans Internet Explorer, cette propriété n'est pas définie.supported(booléen) — Définir surtruesi le partage d'écran est pris en charge par le navigateur. Vérifiez laextensionRequiredpropriété pour vérifier si le navigateur nécessite une extension pour le partage d'écran.supportedSources(Objet) — Obsolète. Dans les anciennes versions de navigateur, il était possible de sélectionner un type de source de partage d'écran (tel que"application","browser","screen", ou"window"en réglant levideoSourcepropriété des options transmises à la fonctionOT.initPublisher()méthode. Cependant, dans les navigateurs actuels prenant en charge le partage d'écran, le fait de passer l'une ou l'autre de ces valeurs entraîne le même comportement : le navigateur affiche une boîte de dialogue dans laquelle l'utilisateur final sélectionne la source du partage d'écran (qui peut être l'écran entier ou une fenêtre spécifique). Dans Electron, le partage d’écran capture l’intégralité de l’écran, sans demander d’autorisation à l’utilisateur.
Le paramètre « options » comprend également les propriétés suivantes, qui s'appliquent à la prise en charge du partage d'écran dans les anciennes versions de Chrome et d'Opera (dans tous les autres navigateurs, ces propriétés sont non définies) :
extensionRequired(Chaîne) — Définir sur"chrome"dans les anciennes versions de Chrome et d'Opera, qui nécessitent l'installation d'une extension de partage d'écran. Cette propriété n'est pas définie dans les autres navigateurs.extensionRegistered(Booléen) — Dans les anciennes versions de Chrome et d'Opera, cette propriété est définie surtruesi une extension de partage d'écran est enregistrée ; sinon, elle est définie surfalse. Dans les autres navigateurs (qui ne nécessitent pas d'extension), cette propriété n'est pas définie. Utilisez laOT.registerScreenSharingExtension()méthode permettant d'enregistrer une extension de partage d'écran dans les anciennes versions de Chrome ou d'Opera.
Chrome 72 et versions ultérieures, Firefox 52 et versions ultérieures, Safari 13 et versions ultérieures, Edge 79 et versions ultérieures, ainsi qu’Opera 59 et versions ultérieures intègrent la prise en charge
du partage d’écran, sans nécessiter d’extension. (Notez que la prise en charge du plugin Vonage Video API
pour Internet Explorer a été supprimée dans la version 2.17 de l'API Vonage Video.) Le partage d'écran est
pas pris en charge par les navigateurs mobiles. Dans Electron, le partage d'écran est pris en charge si
le webPreferences.contextIsolation L'option de la fenêtre de navigation Electron est
définie sur false ou si l'application utilise un script de préchargement pour accéder à l'outil de capture d'écran.
(La valeur par défaut de webPreferences.contextIsolation est l'option true
dans Electron 12 et false (dans les versions précédentes). Pour publier une vidéo de partage d'écran
dans les anciennes versions de Chrome ou d'Opera, le client installe une extension qui permet de publier un
flux vidéo de partage d'écran sur votre domaine. La Video API Vonage
extensions de partage d'écran
Cet exemple contient du code permettant de créer une extension pour prendre en charge le partage d'écran dans
les anciennes versions de Chrome et d'Opera.
Pour plus d'informations, voir le Partage d'écran via la Video API Vonage guide du développeur.
Paramètres :
| Nom | Type | Description |
|---|---|---|
callback |
fonction | Fonction de rappel facultative appelée avec l'objet « options de prise en charge » passé en paramètre. |
Voir : : - OT.initPublisher() - OT.registerScreenSharingExtension()
Retours :
Une promesse qui tient ses promesses
(statique) checkSystemRequirements() → {Number}
Vérifie si le système prend en charge la Video API de Vonage pour WebRTC. Notez que cette méthode est appelée
automatiquement lorsque vous appelez OT.initPublisher() ou OT.initSession(),
et si le système ne prend pas en charge la Video API de Vonage, la bibliothèque OpenTok.js affiche un message destiné
à l'utilisateur. Appelez la fonction OT.checkSystemRequirements() méthode avant l'appel
OT.initPublisher() ou OT.initSession() si vous ne souhaitez pas que la
bibliothèque affiche ce message.
Voir : : - OT.upgradeSystemRequirements()
Retours :
Si le système prend en charge la Video API de Vonage pour WebRTC (1) ou non (0).
(statique) getActiveAudioOutputDevice()
Renvoie une Promise qui identifie le périphérique de sortie audio actuel.
La méthode renvoie une Promise qui, une fois résolue, fournit un objet comportant deux propriétés :
deviceId et label, qui sont toutes des chaînes de caractères.
Les deviceId La propriété correspond à un identifiant unique de l'appareil. Vous pouvez transmettre
le deviceId en tant que paramètre de la OT.setAudioOutputDevice() méthode. La méthode deviceId
Cette propriété est définie sur « undefined » si l'utilisateur n'a pas préalablement autorisé l'accès à
une caméra et à un microphone.
Les label Cette propriété identifie l'appareil. La label
Cette propriété prend la valeur d'une chaîne vide si l'utilisateur n'a pas encore autorisé l'accès à
une caméra et à un microphone.
Note: La prise en charge actuelle par les navigateurs concerne les versions de bureau de Chrome 49 et versions ultérieures, Edge 17 et versions ultérieures, Opera 36 et versions ultérieures, ainsi que les versions récentes de Samsung Internet, WebView sur Android et WebView sur iOS.
Voir : : - OT.getAudioOutputDevices() - OT.setAudioOutputDevice()
(statique) getAudioOutputDevices()
Répertorie les périphériques de sortie audio (tels que les haut-parleurs) disponibles pour le navigateur.
La méthode renvoie une Promise qui se résout en un tableau d'objets correspondant aux
périphériques de sortie audio disponibles. Chaque objet possède deux propriétés : deviceId
et label, qui sont toutes des chaînes de caractères.
Les deviceId La propriété correspond à un identifiant unique de l'appareil. Vous pouvez transmettre
le deviceId en tant que paramètre de la OT.setAudioOutputDevice() méthode. La méthode deviceId
La propriété est définie sur « undefined » si l'utilisateur n'a pas préalablement autorisé l'accès à
une caméra et à un microphone. S'il n'y a aucun périphérique de sortie audio disponible, la propriété
est définie sur null.
Les label Cette propriété identifie l'appareil. La label
Cette propriété prend la valeur d'une chaîne vide si l'utilisateur n'a pas encore autorisé l'accès à
une caméra et à un microphone.
Notes ::
- La prise en charge actuelle des navigateurs concerne les versions de bureau de Chrome 49 et versions ultérieures, Edge 17 et versions ultérieures, Opera 36 et versions ultérieures, ainsi que les versions récentes de Samsung Internet, WebView sur Android et WebView sur iOS.
- Le navigateur peut limiter à un le nombre de périphériques de sortie audio avant que l'utilisateur n'ait autorisé l'accès à une caméra ou à un microphone.
Voir : : - OT.setAudioOutputDevice() - OT.getActiveAudioOutputDevice()
(statique) getDevices(callback) → {Promise.<Array.<Device>>}
Répertorie les périphériques d'entrée audio (tels que les microphones) et les périphériques d'entrée vidéo
(caméras) disponibles pour le navigateur. Cette méthode renvoie une « promise » contenant le tableau des
périphériques. Chaque objet possède trois propriétés : kind,
deviceIdet label, qui sont toutes des chaînes de caractères.
Les kind est fixée à "audioInput" pour les périphériques
d'entrée audio ou "videoInput" pour les périphériques d'entrée vidéo.
Les deviceId La propriété correspond à un identifiant unique de l'appareil. Vous pouvez transmettre
le deviceId en tant que audioSource ou videoSource
propriété de la options du paramètre
OT.initPublisher() méthode.
Les label Cette propriété identifie l'appareil. La label
Cette propriété prend la valeur d'une chaîne vide si l'utilisateur n'a pas encore autorisé l'accès à
une caméra et à un microphone.
Paramètres :
| Nom | Type | Description |
|---|---|---|
callback |
fonction | Fonction de rappel facultative appelée lorsque la liste des périphériques est disponible. Cette fonction prend deux paramètres : - error — Cette variable est renseignée avec un objet d'erreur lorsqu'une erreur survient lors de l'appel de cette méthode ; elle est renseignée avec null lorsque l'appel aboutit. - devices — Un tableau d'objets correspondant aux microphones et caméras disponibles. Remarque : Le navigateur peut limiter à un seul le nombre de périphériques d'entrée audio et vidéo renvoyés tant que l'utilisateur n'a pas autorisé l'accès à la caméra ou au microphone. |
Voir : : - OT.initPublisher()
Retours :
Une promesse contenant la liste des appareils
(statique) getSupportedCodecs() → {Promise}
Récupère la liste des codecs pris en charge pour l'encodage et le décodage des flux vidéo.
L'exemple suivant permet d'obtenir la liste des codecs pris en charge pour l'encodage et le décodage des flux vidéo :
(async () => {
try {
const supportedCodecs = await OT.getSupportedCodecs();
if (supportedCodecs.videoEncoders.indexOf('H264') < 0 &&
supportedCodecs.videoDecoders.indexOf('H264') < 0) {
// The client does not support encoding or decoding H264.
// Let's recommend using a different browser.
}
} catch(err) {
console.log(err);
}
})();
Vous pouvez utiliser les listes de codecs vidéo pris en charge pour déterminer si le client prend en charge la vidéo, en fonction du codec vidéo préféré et du type de session utilisé. Vous pouvez définir le codec vidéo préféré sur la page « Projet » de votre Compte Video API de Vonage. Dans sessions acheminées (sessions utilisant le routeur multimédia de la Video API Vonage), le codec vidéo préféré est utilisé pour tous les clients de la session. Dans les sessions relayées, les clients envoient des flux directement les uns aux autres, et chaque paire émetteur-abonné tente de trouver un codec vidéo commun qu'ils peuvent tous deux utiliser. À cet égard, le codec vidéo utilisé par la paire dans une session relayée peut être différent du paramètre de codec vidéo préféré. Pour plus d’informations, consultez la documentation de la Video API vonage Codecs vidéo guide du développeur.
Retours :
Une promesse qui est résolue lorsque la liste des codecs pris en charge est prête.
La promesse est résolue (en cas de réussite) avec un objet comportant deux propriétés :
videoDecoders, une liste des codecs vidéo pris en charge pour le décodage, et
videoEncoders, une liste des codecs vidéo pris en charge pour l'encodage, tels que :
{
videoDecoders: ['H264', 'VP8', 'VP9'],
videoEncoders: ['H264', 'VP8', 'VP9']
}
La promesse est rejetée s'il se produit une erreur lors de la récupération de la liste.
(statique) getUserMedia(options) → {Promise}
Récupère un objet MediaStream qui utilise un microphone et une caméra comme sources audio et vidéo. Cette méthode renvoie une promesse qui est résolue lorsque l'utilisateur a accordé l'autorisation d' utiliser la caméra ou le microphone (ou les deux) et que l'objet MediaStream est disponible. La promesse est rejetée s'il y a une erreur lors de l'obtention du flux multimédia ou si l'utilisateur final refuse l'accès à la caméra ou au microphone.
Vous pouvez utiliser cette méthode pour obtenir des objets `MediaStreamTrack` à transmettre à la méthode
audioSource et videoSource options de la
OT.initPublisher() méthode. Par exemple, appelez cette méthode
pour obtenir un MediaStream utilisant le microphone et la caméra comme sources audio et vidéo. Vous
pouvez ensuite appeler getVideoTracks()[0] sur l'objet MediaStream pour obtenir un objet
MediaStreamTrack correspondant à la vidéo de la caméra. Vous pouvez ensuite ajouter cet objet MediaStreamTrack
comme source d'un élément Video HTML, dessiner cet élément Video dans un élément Canvas HTML, puis
appliquer des filtres ou des effets vidéo au Canvas. Vous pouvez ensuite appeler la méthode captureStream()
méthode de l'objet HTMLCanvasElement permettant d'obtenir un objet MediaStream et d'appeler
getVideoTracks()[0] sur l'objet MediaStream pour obtenir un objet MediaStreamTrack
vidéo (avec les filtres ou effets vidéo appliqués). Enfin, vous pouvez utiliser l'objet MediaStreamTrack
vidéo comme videoSource propriété des options que vous transmettez
à OT.initPublisher(). L'éditeur de la Video API Vonage utilisera la
piste vidéo (avec les filtres et effets appliqués) comme source vidéo.
Paramètres :
| Nom | Type | Description |
|---|---|---|
options |
Objet | (facultatif) Définit les paramètres de l'objet MediaStream. Les options sont les mêmes que celles définies pour le OT.initPublisher() méthode. Cependant, seules les propriétés suivantes s'appliquent à OT.getUserMedia(): - audioSource - autoGainControl - disableAudioProcessing - echoCancellation - enableStereo - facingMode - frameRate - maxResolution - noiseSuppression - resolution - videoSource |
Voir :
: - Les options (en particulier audioSource et videoSource) de la
OT.initPublisher() méthode
Retours :
Une promesse qui est résolue lorsque l'utilisateur a accordé l'autorisation d' utiliser la caméra ou le microphone (ou les deux) et que l'objet `MediaStream` est disponible. La promesse est rejetée en cas d'erreur lors de la récupération du flux multimédia, si l'utilisateur final refuse l'accès à la caméra ou au microphone, ou si la méthode est appelée sous Internet Explorer.
(statique) hasEndToEndEncryptionSupport() → {Boolean}
Si le client prend en charge le chiffrement de bout en bout.
L'exemple suivant active le chiffrement de bout en bout, si cette fonctionnalité est prise en charge par le client :
// Publish in a session with end-to-end encryption, if supported
if (OT.hasEndToEndEncryptionSupport()) {
session.publish(publisher, error) = {
...
});
}
Voir : : - OT.initSession() - Session.publish()
Retours :
Que le client prenne en charge le chiffrement de bout en bout (true),
ou non (false).
(statique) hasMediaProcessorSupport(mediaType) → {Boolean}
Si le client prend en charge les processeurs multimédias, tels que les filtres vidéo et audio.
L'exemple suivant active le filtre de flou d'arrière-plan, si celui-ci est pris en charge par le client :
// Add background blur, if supported
if (OT.hasMediaProcessorSupport('video')) {
publisherOptions.videoFilter = {
type: 'backgroundBlur',
};
}
// Add advanced noise suppression, if supported
if (OT.hasMediaProcessorSupport('audio')) {
publisherOptions.audioFilter = {
type: 'advancedNoiseSuppression',
};
}
const publisher = OT.initPublisher(publisherOptions);
Paramètres :
| Nom | Type | Description |
|---|---|---|
mediaType |
Chaîne | « audio », « vidéo » ou « les deux ». La valeur par défaut est « les deux ». |
Voir : : - OT.initPublisher() - Publisher.applyVideoFilter() - Publisher.applyAudioFilter()
Retours :
Que le client prenne en charge ou non les processeurs multimédias (true), qu'il s'agisse
de filtres vidéo et audio, ou non (false).
(statique) initPublisher(élémentCible, propriétés, gestionnaireDeFin) → {Éditeur}
Initialise et renvoie un objet Publisher. Vous pouvez ensuite transmettre cet objet Publisher
à Session.publish() pour publier un flux vers une session.
Remarque : Si vous comptez réutiliser un objet Publisher pour publier successivement dans différentes sessions
(ou dans la même session), ajoutez un écouteur d'événement pour le streamDestroyed
événement déclenché par l'objet Publisher (lorsqu'il cesse de publier). Dans le gestionnaire d'événements,
appelez la méthode preventDefault() méthode de l'objet « event » afin d'empêcher que la
vidéo de l'éditeur ne soit supprimée de la page.
Paramètres :
| Nom | Type | Description |
|---|---|---|
targetElement |
Objet | (Facultatif) L'élément DOM ou le id attribut de l'élément DOM existant utilisé pour déterminer l'emplacement de la vidéo Publisher dans le DOM HTML. Voir la section insertMode de la propriété properties paramètre. Si vous ne spécifiez pas de targetElement, l'application ajoute un nouvel élément DOM au code HTML body. L'application génère une erreur si un élément dont l'ID est défini sur le targetElement Cette valeur n'existe pas dans le DOM HTML. |
properties |
Objet | (Facultatif) Cet objet contient les propriétés suivantes (chacune d'entre elles étant facultative) : - audioBitrate (Numbers) — 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 recommandés sont les suivants : - 8 000 à 12 000 pour la voix en bande étroite (NB) - 16 000 à 20 000 pour la voix en bande large (WB) - 28 000 - 40 000 pour la voix en bande complète (FB) - 48 000 à 64 000 pour la musique en bande complète (FB) La valeur par défaut est 40 000. Actuellement, ce paramètre n'est pas pris en charge dans les flux publiés dans Firefox. - audioFallback (Objet) — Objet contenant des propriétés qui déterminent si le flux utilisera la fonctionnalité de repli audio. Le audioFallback L'objet comprend les propriétés suivantes : - publisher (Booléen) — Indique si le flux utilisera la fonctionnalité de repli audio de l'éditeur (true) ou non (par défaut false). La fonctionnalité de repli audio de l'éditeur est disponible à la fois dans les sessions acheminées (sessions qui utilisent le Routeur multimédia de la Video API Vonage) et les sessions relayées. Lorsque la fonctionnalité de repli audio des éditeurs est activée, si le système constate que la qualité d’un éditeur s’est considérablement dégradée, il désactive la vidéo de cet éditeur afin de préserver la qualité audio. Pour plus d’informations, consultez la section Éditeur vidéo désactivée, videoDisableWarning, videoDisableWarningLifted, et videoEnabled événements. - subscriber (Booléen) — Indique si le flux utilisera la fonctionnalité de repli audio pour les abonnés (true) ou non (false). La fonctionnalité de repli audio est disponible dans les sessions utilisant le Media Router de la Video API Vonage. Lorsque la fonctionnalité de repli audio est activée (par défaut), si le serveur détecte une dégradation significative de la qualité d’un flux pour un abonné spécifique, 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 ont le videoSource propriété définie sur "application", "screen"ou "window" dans le OT.initPublisher() options. Pour plus d'informations, consultez la section « Abonné » vidéo désactivée événement et La Video API Vonage : routeur multimédia et modes multimédia. - audioFilter (Objet) — Objet contenant les propriétés qui définissent le filtre audio à appliquer au flux audio de l'éditeur. Les filtres suivants sont pris en charge : - Filtre avancé de suppression du bruit - Régler le type propriété de l'objet à "advancedNoiseSuppression".Remarque : Les filtres audio ne sont pris en charge que dans les versions récentes de Chrome, Electron, Opera, Edge, Samsung Internet et WebView Android. Ils ne sont pas pris en charge dans les autres navigateurs (non basés sur Chromium) ni sur iOS. Vous pouvez vérifier si le client prend en charge cette fonctionnalité en appelant la méthode OT.hasMediaProcessorSupport('audio') méthode. Vous pouvez modifier le filtre audio en appelant la méthode Publisher.applyAudioFilter() méthode. Vous pouvez supprimer le filtre audio en appelant la méthode Publisher.clearAudioFilter() méthode. - source audio (Chaîne de caractères, MediaStreamTrack, booléen ou null) — L'identifiant du périphérique d'entrée audio (tel qu'un microphone) que l'éditeur doit utiliser. Vous pouvez obtenir la liste des périphériques disponibles, y compris les périphériques d'entrée audio, en appelant la méthode OT.getDevices() méthode. Chaque périphérique répertorié par cette méthode possède un identifiant unique. Si vous transmettez un identifiant de périphérique qui ne correspond à aucun périphérique d'entrée audio existant, l'appel à OT.initPublisher() génère une erreur (code d'erreur 1500, « Impossible de publier ») transmise à la fonction de gestionnaire d'achèvement. Si vous définissez cette propriété sur null ou false, le navigateur ne demande pas l'accès au microphone et aucun son n'est diffusé. Vous pouvez également définir cette propriété sur un élément audio MediaStreamTrack objet. Cela vous permet d'utiliser cet objet comme source audio pour le flux publié. Par exemple, vous pouvez récupérer un tableau d'objets MediaStreamTrack audio à partir du audioTracks propriété d'un objet HTMLMediaElement. Vous pouvez également appeler la méthode getLocalStreams() ou getRemoteStreams() méthode d'un objet `RTCPeerConnection` pour obtenir un tableau d'objets `MediaStream`, puis appeler la getAudioTracks() méthode de l'un des objets MediaStream permettant d'obtenir un objet MediaStreamTrack audio. - autoGainControl (Booléen) — Indique s'il faut activer le contrôle automatique du gain pour l'audio publié. Vous pouvez définir cette option sur false lors de la publication d'un fichier audio de haute qualité (en réglant le audioBitrate de la propriété OT.initPublisher() options). La valeur par défaut est true. Ce paramètre est ignoré si vous réglez disableAudioProcessing à true (ce qui désactive l'annulation d'écho, le contrôle automatique de gain et la suppression du bruit pour le flux diffusé). - désactiver la gestion des périphériques d'entrée audio (Booléen) — Indique s'il faut désactiver la commutation automatique des périphériques d'entrée audio. Vous pouvez définir cette option sur true si vous souhaitez gérer vous-même la gestion des appareils. Remarque : Il s'agit d'une fonctionnalité avancée. Ne l'utilisez pas sans avoir préalablement mis en place la gestion des périphériques pour votre application. Si vous activez cette option, le périphérique d'entrée audio utilisé par le SDK ne sera pas être mis à jour lorsque l'utilisateur final change de microphone. La valeur par défaut est false. - disableAudioProcessing (Booléen) — Indique s'il faut désactiver l'annulation d'écho, le contrôle automatique de gain et la suppression du bruit pour le flux audio diffusé. Vous pouvez définir cette option sur true lors de la publication d'un fichier audio de haute qualité (en réglant le audioBitrate de la propriété OT.initPublisher() options). La valeur par défaut est false. - echoCancellation (Booléen) — Indique s'il faut activer la suppression d'écho pour le flux audio publié. Vous pouvez définir cette option sur false lors de la publication d'un fichier audio de haute qualité (en réglant le audioBitrate de la propriété OT.initPublisher() options). La valeur par défaut est true. Ce paramètre est ignoré si vous réglez disableAudioProcessing à true (ce qui désactive l'annulation d'écho, le contrôle automatique de gain et la suppression du bruit pour le flux diffusé). - enableStereo (Booléen) — Indique s'il faut publier l'audio stéréo. La valeur par défaut est false. Remarque : Certains navigateurs (tels que Chrome 73 et versions ultérieures) ne prennent pas en charge la suppression de l'écho pour l'audio stéréo (voir ce rapport de problème concernant Chrome). - activerDtx (Booléen) — Indique s'il faut activer Opus DTX. La valeur par défaut est false. En définissant cette valeur sur true peut réduire la consommation de bande passante dans les flux comportant de longues périodes de silence. - facingMode (Chaîne) — Position de caméra à privilégier pour la source vidéo. En règle générale, ce paramètre ne s'applique qu'aux appareils mobiles. Il peut prendre l'une des valeurs suivantes : - "user" — La caméra frontale. - "environment" — L'appareil photo arrière. - "left" — La caméra est tournée vers l'utilisateur, mais vers la gauche (peu courant). - "right" — La caméra est orientée vers l'utilisateur, mais vers la droite (peu courant). - fitMode (Chaîne) — Détermine comment la vidéo s'affiche si ses dimensions ne correspondent pas à celles de l'élément DOM. Vous pouvez attribuer à cette propriété l'une des valeurs suivantes : - "cover" — La vidéo est recadrée si ses dimensions ne correspondent pas à celles de l'élément DOM. Il s'agit du paramètre par défaut pour les vidéos diffusant le flux d'une caméra. - "contain" — La vidéo s'affiche en format « letterbox » si ses dimensions ne correspondent pas à celles de l'élément DOM. Il s'agit du paramètre par défaut pour les vidéos partagées à l'écran. - fréquence d'images (Nombre) — Fréquence d'images souhaitée, en images par seconde, de la vidéo. 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 différer légèrement de la valeur que vous avez définie, en fonction du navigateur 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. Si l'éditeur spécifie une fréquence d'images, la fréquence d'images réelle du flux vidéo est définie comme la frameRate propriété de l'objet Stream, bien que la fréquence d'images réelle varie en fonction des conditions du réseau et du système. Si le développeur ne spécifie pas de fréquence d'images, cette propriété n'est pas définie. De plus, si la source vidéo est un objet MediaStreamTrack (voir la section videoSource), cette valeur est ignorée et la fréquence d'images est définie par l'objet `MediaStreamTrack`, que vous pouvez obtenir en appelant la méthode getConstraints() méthode de l'objet MediaStreamTrack. Pour les sessions qui utilisent le Media Router de la Video API Vonage (sessions avec le mode média Lorsque le mode multimédia est défini sur « routé », la réduction de la fréquence d'images diminue proportionnellement la bande passante maximale utilisée par le flux. En revanche, dans les sessions où le mode multimédia est défini sur « relayé », la réduction de la fréquence d'images n'entraîne pas de diminution de la bande passante du flux. Vous pouvez également limiter la fréquence d'images du flux vidéo d'un abonné. Pour limiter la fréquence d’images d’un abonné, appelez la méthode restrictFrameRate() méthode de l'abonné, en lui transmettant true. (Voir Subscriber.restrictFrameRate().) - hauteur (Nombre ou chaîne de caractères) — Hauteur initiale souhaitée de la vidéo Publisher affichée dans la page HTML (valeur par défaut : 198 pixels). Vous pouvez indiquer le nombre de pixels soit sous forme de nombre (par exemple 300), soit sous forme de chaîne de caractères se terminant par « px » (par exemple « 300px »). Vous pouvez également indiquer un pourcentage de la taille de l’élément parent, à l’aide d’une chaîne de caractères se terminant par « % » (par exemple « 100 % »). Remarque : Pour redimensionner la vidéo de l'éditeur, modifiez le code CSS de l'élément DOM de l'éditeur (le element propriété de l'objet Publisher) ou (si la hauteur est spécifiée sous forme de pourcentage) son élément DOM parent (voir Redimensionner ou repositionner une vidéo). - initiales (Chaîne) — Les initiales de ce flux. Ces initiales s'affichent en caractères majuscules et centrés dans chaque vue « Éditeur » et « Abonné » lorsque la vidéo est désactivée et qu'aucun backgroundImageURI est défini. Si backgroundImageURI Si cette option est activée, elle a la priorité et s'affiche à la place des initiales. Les initiales sont également définies comme initials propriété de l'objet Stream. Toute chaîne d'un ou deux caractères (en majuscules ou minuscules) sera acceptée. Si des initiales non valides sont utilisées, aucune erreur ne sera levée et les initiales ne seront pas définies. - insertDefaultUI (Booléen) — Indique s'il faut utiliser l'interface utilisateur par défaut de la Video API de Vonage (true, valeur par défaut) ou non (false). L'élément d'interface utilisateur par défaut contient des commandes d'interface utilisateur, un indicateur de chargement de la vidéo, ainsi qu'un recadrage automatique de la vidéo ou un affichage en « letterbox », en plus de la vidéo elle-même. (Si vous laissez insertDefaultUI réglé sur true, vous pouvez modifier les paramètres individuels de l'interface utilisateur à l'aide de la fitMode, showControlset style options.) Si vous définissez cette option sur false, OpenTok.js n'insère pas d'élément d'interface utilisateur par défaut dans le DOM HTML, et le element La propriété de l'objet Publisher n'est pas définie. À la place, l'objet Publisher déclenche un videoElementCreated événement lorsque le video (ou dans Internet Explorer l'élément object élément contenant la vidéo) est créé. Le element La propriété de l'objet événement est une référence à l'éditeur video (ou object) élément. Ajoutez-le au DOM HTML pour afficher la vidéo. Définissez cette option sur false si vous souhaitez déplacer le fichier Publisher video (ou object) dans le DOM HTML. Si vous définissez cette valeur sur falsene pas régler le targetElement paramètre. (Cela entraîne une erreur transmise à la OT.initPublisher() fonction de rappel.) Pour ajouter la vidéo au DOM HTML, ajoutez un écouteur d'événement pour l'événement videoElementCreated événement, puis ajoutez le element propriété de l'objet événement dans le DOM HTML. - insertMode (Chaîne) — Spécifie la manière dont l'objet Publisher sera inséré dans le DOM HTML. Voir la section targetElement paramètre. Cette chaîne peut prendre les valeurs suivantes : - "replace" — L'objet Publisher remplace le contenu de l'élément cible. Il s'agit du comportement par défaut. - "after" — L'objet Publisher est un nouvel élément inséré après l'élément targetElement dans le DOM HTML. (L'objet Publisher et l'élément targetElement ont tous deux le même élément parent.) - "before" — L'objet `Publisher` est un nouvel élément inséré avant l'élément `targetElement` dans le DOM HTML. (L'objet `Publisher` et l'élément `targetElement` ont tous deux le même élément parent.) - "append" — L'objet Publisher est un nouvel élément ajouté en tant qu'enfant de l'élément cible. S'il existe d'autres éléments enfants, l'objet Publisher est ajouté à la fin de la liste des enfants de l'élément cible. - maxResolution (Objet) — Définit la résolution maximale à diffuser. Ce paramètre ne s'applique que lorsque le videoSource la propriété est définie sur "application", "screen"ou "window" (lorsque l'éditeur partage son écran). La résolution du flux correspondra à celle de la zone d'écran capturée, sauf si cette zone est plus grande que la maxResolution paramètre. Définissez-le sur un objet comportant deux propriétés : width et height (les deux nombres). La valeur maximale pour chacun des width et height La valeur maximale est 1920 et la valeur minimale est 10. - miroir (Booléen) — Indique si l'image vidéo de l'éditeur est inversée sur la page de l'éditeur. La valeur par défaut est true (l'image vidéo est inversée), sauf dans le cas d'une vidéo de partage d'écran (lorsque le videoSource est fixée à "application", "screen"ou "window" (auquel cas la valeur par défaut est false). Cette propriété n'a aucune incidence sur l'affichage de la vidéo par les abonnés. - nom (Chaîne) — Nom de ce flux. Ce nom apparaît au bas des vidéos des abonnés. La valeur par défaut est « » (une chaîne vide). Si vous attribuez à ce paramètre une chaîne de plus de 1 000 caractères, une exception d'exécution se produira. - suppression du bruit (Booléen) — Indique s'il faut activer la suppression du bruit pour l'audio publié. Vous pouvez définir cette option sur false lors de la publication d'un fichier audio de haute qualité (en réglant le audioBitrate de la propriété OT.initPublisher() options). La valeur par défaut est true. Ce paramètre est ignoré si vous réglez disableAudioProcessing à true (ce qui désactive l'annulation d'écho, le contrôle automatique de gain et la suppression du bruit pour le flux diffusé). - codecs vidéo préférés ('automatic' ou Tableau de 'vp8', 'vp9', 'h264') — Définit l'ordre de priorité des codecs vidéo préférés pour la publication. Si ce paramètre est omis, le SDK utilise le paramètre par défaut du projet. Définir sur 'automatic' pour laisser le SDK choisir l'ordre le plus approprié. Ou bien, fournissez un tableau explicite pour spécifier vos préférences en matière de codecs (par exemple, ['vp9', 'h264']). Si la valeur n'est pas valide (par exemple, un tableau vide ou un codec non pris en charge), l'initialisation de l'éditeur échoue et génère une OT_INVALID_PARAMETER erreur. - publierAudio (Booléen) — Indique s'il faut publier initialement le flux audio (par défaut : true). Ce paramètre s'applique lorsque vous transmettez l'objet Publisher dans un appel à la méthode Session.publish() méthode. - publier une vidéo (Booléen) — Indique s'il faut publier la vidéo dès le début de la diffusion (par défaut : true). Ce paramètre s'applique lorsque vous transmettez l'objet Publisher dans un appel à la méthode Session.publish() méthode. - afficher les légendes (Booléen) — Indique s'il faut publier d'emblée les légendes du flux (par défaut : false). Ce paramètre s'applique lorsque vous transmettez l'objet Publisher dans un appel à la méthode Session.publish() méthode. Cette propriété n'aura aucun effet si les légendes n'ont pas été activées au niveau de la session. Pour plus d'informations, consultez la section Sous-titres en direct Guide du développeur. - publishSenderStats (Booléen) — Indique s'il faut activer un canal de statistiques de l'expéditeur pour le flux (par défaut : false). Ce paramètre s'applique lorsque vous transmettez l'objet Publisher dans un appel à la méthode Session.publish() méthode. - résolution (Chaîne de caractères) — La résolution souhaitée pour la vidéo. Le format de la chaîne de caractères est "widthxheight", où la largeur et la hauteur sont exprimées en pixels. Les valeurs valides sont : "1920x1080", "1280x720", "640x480", et "320x240". La vidéo diffusée n'utilisera la résolution souhaitée que si la configuration du client la prend en charge. Certains navigateurs et clients ne prennent pas en charge l'ensemble de ces paramètres de résolution. La résolution demandée pour un flux vidéo est définie comme suit : videoDimensions.width et videoDimensions.height propriétés de l'objet Stream. Si vous ne spécifiez pas de résolution, le navigateur utilise la résolution par défaut de la caméra. La plupart des caméras physiques ont une résolution par défaut de 640x480, mais d’autres caméras, en particulier les caméras virtuelles, ont des résolutions par défaut différentes. Si le système client ne prend pas en charge la résolution demandée, le flux utilisera la résolution immédiatement supérieure prise en charge. La résolution réelle utilisée par l’éditeur est renvoyée par la videoHeight() et videoWidth() méthodes de l'objet Publisher. La résolution réelle d'un flux vidéo Subscriber est renvoyée par la méthode videoHeight() et videoWidth() propriétés de l'objet « Subscriber ». Celles-ci peuvent différer des valeurs de l' resolution propriété transmise en tant que properties propriété de la OT.initPublisher() méthode : si le navigateur ne prend pas en charge la résolution demandée, cette valeur est ignorée. De même, si la source vidéo est un objet `MediaStreamTrack` (voir la videoSource), cette valeur est ignorée et la résolution est définie par l'objet MediaStreamTrack, que vous pouvez obtenir en appelant la méthode getConstraints() méthode de l'objet MediaStreamTrack. - partage d'écran adaptatif (Booléen) — Indique s'il faut autoriser l'utilisation de vidéo évolutive pour un éditeur qui dispose de la videoSource fixé à "screen" (true) ou pas (false, valeur par défaut). - scalableVideo (Booléen) — Indique s'il faut autoriser (true, (valeur par défaut) ou désactiver (false) vidéo évolutive pour l'éditeur. Cela ne s'applique que dans le cadre d'une session routée (c'est-à-dire une session qui utilise le Routeur multimédia de la Video API Vonage). Remarque : Par défaut, la vidéo adaptative est désactivée dans les vidéos de partage d'écran. Vous pouvez configurer la scalableScreenshare à l'option true pour activer la vidéo adaptative pour les flux de partage d'écran. Cependant, la configuration scalableVideo à false désactive la vidéo adaptative pour toutes les sources vidéo (et le scalableScreenshare Ce paramètre est ignoré pour les flux de partage d'écran). - afficher les commandes (Booléen) — Indique s'il faut afficher les contrôles d'interface utilisateur intégrés (par défaut : true) pour l'éditeur. Ces commandes comprennent l'affichage du nom, l'indicateur de niveau sonore et le bouton de commande du microphone. Vous pouvez désactiver toutes les commandes de l'interface utilisateur en définissant cette propriété sur false. Vous pouvez contrôler l'affichage des différents éléments de l'interface utilisateur en laissant cette propriété définie sur true (la valeur par défaut) et la configuration des propriétés individuelles de la style propriété. - style (Objet) — Objet contenant les propriétés qui définissent l'apparence initiale des contrôles de l'interface utilisateur de Publisher. Le style L'objet comprend les propriétés suivantes : - audioLevelDisplayMode (Chaîne) — Comment afficher l'indicateur de niveau audio. Les valeurs possibles sont : "auto" (l'indicateur s'affiche lorsque la vidéo est désactivée), "off" (l'indicateur n'apparaît pas), et "on" (l'indicateur reste toujours affiché). - archiveStatusDisplayMode (Chaîne) — Comment afficher l'indicateur d'état d'archivage. Les valeurs possibles sont les suivantes : "auto" (l'indicateur s'affiche lorsque la session est en cours d'enregistrement), "off" (l'indicateur n'apparaît pas). Si vous désactivez l'indicateur d'affichage du statut d'archivage, vous pouvez afficher vos propres notifications dans l'interface utilisateur en fonction du archiveStarted et archiveStopped événements déclenchés par l'objet Session. - backgroundImageURI (Chaîne) — Un URI correspondant à une image à afficher comme image d'arrière-plan lorsqu'aucune vidéo n'est affichée. (Il se peut qu'aucune vidéo ne s'affiche si vous appelez publishVideo(false) sur l'objet Publisher). Vous pouvez transmettre une URI http ou https pointant vers un fichier PNG, JPEG ou GIF non animé. Vous pouvez également utiliser la méthode data schéma URI (au lieu de http ou https) et transmettre des données PNG encodées en base-64, telles que celles obtenues à partir du Publisher.getImgData() méthode. (Par exemple, vous pourriez attribuer à la propriété une valeur renvoyée par l'appel de getImgData() sur un objet Publisher précédent.) Si l'URL ou les données d'image ne sont pas valides, la propriété est ignorée (la tentative de définition de l'image échoue sans message d'erreur). - buttonDisplayMode (Chaîne) — Comment afficher les commandes du microphone Les valeurs possibles sont les suivantes : "auto" (les commandes s'affichent lors de la première affichage du flux et lorsque l'utilisateur passe la souris sur l'affichage), "off" (les commandes ne sont pas affichées), et "on" (les commandes sont toujours affichées). - nameDisplayMode (Chaîne) — Indique s'il faut afficher le nom du flux. Les valeurs possibles sont : "auto" (le nom s'affiche lors de la première affichage du flux et lorsque l'utilisateur passe la souris sur l'affichage), "off" (le nom n'est pas affiché), et "on" (le nom s'affiche toujours). - videoDisabledDisplayMode (Chaîne) — Indique s'il faut afficher l'indicateur de désactivation de la vidéo et les icônes d'avertissement de désactivation de la vidéo pour l'objet Publisher. Ces icônes indiquent que la vidéo a été désactivée (ou risque de l'être, dans le cas de l'icône d'avertissement) en raison d'une mauvaise qualité du flux. Ce style s'applique uniquement à l'objet Publisher. Les valeurs possibles sont : "auto" (ces icônes s'affichent automatiquement lorsque la vidéo en cours de lecture est désactivée ou risque de l'être en raison d'une mauvaise qualité de diffusion), "off" (ne pas afficher les icônes), et "on" (afficher les icônes). Le paramètre par défaut est "auto". - videoContentHint (Chaîne) — Définit l'indicateur de contenu de la piste vidéo du flux de l'éditeur. Cela permet aux navigateurs d'utiliser des méthodes d'encodage ou de traitement mieux adaptées au type de contenu. Vous pouvez définir cette propriété sur l'une des valeurs suivantes : - "" — Aucun indice n'est fourni (valeur par défaut). - "motion" — La piste doit être traitée comme si elle contenait une vidéo dans laquelle le mouvement est important. Par exemple, vous pouvez utiliser ce paramètre pour un flux de partage d'écran contenant de la vidéo. - "detail" — Il convient de traiter cette piste comme si les détails vidéo revêtaient une importance particulière. Vous pouvez, par exemple, utiliser ce paramètre pour un flux de partage d'écran contenant du texte, des dessins ou des illustrations au trait. - "text" — La piste doit être traitée comme si les détails textuels revêtaient une importance particulière. Par exemple, vous pouvez utiliser ce paramètre pour un flux de partage d’écran contenant du contenu textuel. Avec les indications de contenu « text » et « detailed », le navigateur s'efforce de maintenir une haute résolution, même s'il doit réduire la fréquence d'images de la vidéo. Pour l'indication de contenu « motion », le navigateur réduit la résolution afin d'éviter que la fréquence d'images ne ralentisse. Vous pouvez en savoir plus sur ces options dans le Projet de travail du W3C. Vous pouvez définir l'indicateur de contenu vidéo afin d'optimiser les performances pour les vidéos de partage d'écran. Par exemple, vous pouvez le définir sur "text" lors du partage d'un écran contenant beaucoup de texte (comme un diaporama). Chrome 60 et versions ultérieures, Safari 12.1 et versions ultérieures, Edge 79 et versions ultérieures, Opera 47 et versions ultérieures, les versions récentes de Samsung Internet, WebView sur Android 70 et versions ultérieures, ainsi que WebView sur iOS 12.2 et versions ultérieures prennent en charge les indications de contenu vidéo. Voir également la Publisher.setVideoContentHint() méthode et la rubrique du guide du développeur consacrée à cette fonctionnalité. - videoFilter (Objet) — Objet contenant les propriétés qui définissent le filtre vidéo à appliquer au flux vidéo de l'éditeur. Les filtres suivants sont pris en charge : - Filtre de flou d'arrière-plan - Régler le type propriété de l'objet à "backgroundBlur". Un objet de filtre de flou d'arrière-plan comprend un élément supplémentaire blurStrength propriété qui définit le rayon de flou et qui est facultative. Définissez-la sur l'une des valeurs suivantes : "low" ou "high" (par défaut). - Filtre de remplacement d'arrière-plan - Régler le type propriété de l'objet à "backgroundReplacement". Un objet filtre de remplacement d'arrière-plan comprend un élément supplémentaire backgroundImgUrl propriété qui définit l'URL de l'image d'arrière-plan à utiliser. Les BLOB d'image sont également acceptés (chaîne de données d'image encodée en Base64). Les formats d'image suivants sont pris en charge : BMP, PNG, JPEG et GIF. L'image d'arrière-plan est redimensionnée pour s'adapter aux dimensions de la vidéo de l'éditeur. Pour un résultat optimal, utilisez une image présentant les mêmes dimensions (ou au moins le même format) que la vidéo publiée. Définissez le mirror option permettant de false lors de l'appel du OT.initPublisher() méthode permettant d'afficher l'image d'arrière-plan dans le bon sens (et non en miroir) sur la page de l'éditeur.Remarque : Les filtres vidéo ne sont pris en charge que dans les versions récentes de Chrome, Firefox, Electron, Opera, Edge, Samsung Internet, WebView Android, ainsi que dans les dernières versions de Safari (version 26 et plus) et de WebView iOS (version 26 et plus). Vous pouvez vérifier si le client prend en charge cette fonctionnalité en appelant la méthode OT.hasMediaProcessorSupport('vidéo') méthode. Vous pouvez modifier le filtre vidéo en appelant la Publisher.applyVideoFilter() méthode. Vous pouvez supprimer le filtre vidéo en appelant la Publisher.clearVideoFilter() méthode. - source de la vidéo (Chaîne, MediaStreamTrack, booléen ou null) — L'identifiant du périphérique d'entrée vidéo (tel qu'une caméra) que l'éditeur doit utiliser. Vous pouvez obtenir la liste des périphériques disponibles, y compris les périphériques d'entrée vidéo, en appelant la méthode OT.getDevices() méthode. Chaque périphérique répertorié par cette méthode possède un identifiant unique. Si vous transmettez un identifiant de périphérique qui ne correspond à aucun périphérique d'entrée vidéo existant, l'appel à OT.initPublisher() génère une erreur (code d'erreur 1500, « Impossible de publier ») transmise à la fonction de gestionnaire d'achèvement. Si vous définissez cette propriété sur null ou false, le navigateur ne demande pas l'accès à la caméra et aucune vidéo n'est diffusée. Lors d'un appel vocal uniquement, définissez cette propriété sur null ou false pour chaque éditeur. Pour publier un flux de partage d'écran, définissez cette propriété sur "screen". Dans les anciennes versions de navigateur, vous pouviez également passer "application" ou "window" pour spécifier un type de source de partage d'écran. Cependant, dans les navigateurs actuels prenant en charge le partage d'écran, le fait de passer l'une ou l'autre de ces valeurs entraîne le même comportement : le navigateur affiche une boîte de dialogue dans laquelle l'utilisateur final sélectionne la source de partage d'écran (qui peut être l'écran entier ou une fenêtre spécifique). Dans Electron, le partage d’écran capture l’intégralité de l’écran, sans demander d’autorisation à l’utilisateur. Pour les flux de partage d’écran, voici les valeurs par défaut des autres propriétés : audioFallbackEnabled == false, maxResolution == {width: 1920, height: 1920}, mirror == false, scaleMode == "fit". Par ailleurs, la valeur par défaut scaleMode Le paramètre pour les abonnés au flux est "fit". Dans Safari, l'initialisation d'un éditeur de partage d'écran sans gestionnaire de gestes utilisateur peut provoquer une InvalidAccessError erreur. Vous pouvez également attribuer à cette propriété une vidéo MediaStreamTrack objet. Cela vous permet d'utiliser l'objet MediaStreamTrack comme source vidéo pour le flux publié. Par exemple, vous pouvez obtenir un objet CanvasCaptureMediaStream en appelant la méthode captureStream() méthode d'un HTMLCanvasElement, puis vous pouvez appeler la getVideoTracks() méthode de l'objet `CanvasCaptureMediaStream` permettant d'obtenir un objet `MediaStreamTrack` de type vidéo. Vous pouvez également obtenir un tableau d'objets `MediaStreamTrack` de type vidéo à partir de la videoTracks propriété d'un objet HTMLMediaElement. Vous pouvez également appeler la méthode getLocalStreams() ou getRemoteStreams() méthode d'un objet `RTCPeerConnection` pour obtenir un tableau d'objets `MediaStream`, puis appeler la getVideoTracks() méthode de l'un des objets MediaStream pour obtenir un tableau d'objets MediaStreamTrack vidéo. Notez que, par défaut, l'éditeur utilise un microphone comme source audio ; veillez donc à définir le audioSource option si vous souhaitez utiliser un MediaStreamTrack comme source audio ou si vous ne souhaitez pas publier de piste audio. La valeur par défaut mirror Le paramètre pour un éditeur utilisant une source vidéo de type « MediaStreamTrack » est false. Vous pouvez également appeler OT.getUserMedia() pour obtenir un objet MediaStream qui utilise le microphone et la caméra comme sources audio et vidéo. - largeur (Nombre ou chaîne de caractères) — Largeur initiale souhaitée de la vidéo Publisher affichée dans la page HTML (valeur par défaut : 264 pixels). Vous pouvez indiquer le nombre de pixels soit sous forme de nombre (par exemple 400), soit sous forme de chaîne de caractères se terminant par « px » (par exemple « 400px »). Vous pouvez également indiquer un pourcentage de la taille de l’élément parent, à l’aide d’une chaîne de caractères se terminant par « % » (par exemple « 100 % »). Remarque : Pour redimensionner la vidéo de l'éditeur, modifiez le code CSS de l'élément DOM de l'éditeur (le element propriété de l'objet Publisher) ou (si la largeur est spécifiée en pourcentage) son élément DOM parent (voir Redimensionner ou repositionner une vidéo). |
completionHandler |
fonction | (Facultatif) Une fonction à appeler lorsque la méthode réussit ou échoue à initialiser un objet `Publisher`. Cette fonction prend un paramètre — error. En cas de réussite, le error L'objet est défini sur null. En cas d'échec, le error L'objet possède deux propriétés : code (un nombre entier) et message (une chaîne de caractères), qui identifie la cause de l'échec. La méthode aboutit lorsque l'utilisateur autorise l'accès à la caméra et au microphone. La méthode échoue si l'utilisateur refuse l'accès à la caméra et au microphone. La completionHandler La fonction est appelée avant que l'éditeur ne diffuse un accessAllowed événement « success » ou un accessDenied événement (d'échec). Le code suivant ajoute un completionHandler lors de l'appel du OT.initPublisher() méthode : var publisher = OT.initPublisher('publisher', null, function (error) { if (error) { console.log(error); } else { console.log("Publisher initialized."); } }); |
Voir : : - Session.publish()
Retours :
L'objet Publisher.
(statique) initSession(apiKey, sessionId, options) → {Session}
Initialise et renvoie l'objet de session local correspondant à un identifiant de session spécifié.
Vous vous connectez à une session de la Video API Vonage à l'aide de la connect() méthode
de l'objet Session renvoyé par le OT.initSession() méthode.
Notez que l'appel de OT.initSession() n'initie pas de communication
avec le cloud. Il se contente d'initialiser l'objet Session que vous pouvez utiliser pour
vous connecter (et effectuer d'autres opérations une fois connecté).
Notez que vous ne pouvez initialiser qu’un seul objet Session par identifiant de session. L’appel de
OT.initSession() Une deuxième utilisation avec le même identifiant de session renvoie l'
objet Session créé précédemment. Cependant, vous pouvez initialiser plusieurs objets Session
pour différentes sessions (avec des identifiants de session différents) afin de vous connecter à plusieurs sessions.
Lorsque le client se déconnecte de la session (et que celle-ci envoie un
sessionDisconnected événement), vous pouvez réutiliser l'objet Session pour
vous reconnecter à la session. Cependant, l'objet Session conservera tous les
gestionnaires d'événements qui y sont associés. Vous pouvez supprimer tous les gestionnaires d'événements en appelant la méthode
off() méthode de l'objet Session (sans passer de paramètres).
Pour un exemple, voir Session.connect().
Paramètres :
| Nom | Type | Description |
|---|---|---|
apiKey |
Chaîne | Votre clé Video API Vonage (voir votre Page de compte de l'API Video de Vonage). |
sessionId |
Chaîne | L'identifiant de session permettant d'identifier la session de la Video API de Vonage. Pour plus d'informations, consultez Création d'une session. |
options |
Objet | Objet contenant des paramètres facultatifs permettant d'initialiser la session. Cet objet comporte les propriétés suivantes : - connectionEventsSuppressed — (Booléen) Définissez cette propriété sur true pour prendre en charge les sessions vidéo interactives de grande envergure. Cela empêche l'objet Session de déclencher connectionCreated et connectionDestroyed les événements survenant lorsque d'autres clients se connectent à la session ou s'en déconnectent. (Par ailleurs, le serveur de la Video API Vonage n'envoie pas ces événements au client Web.) Pour plus d'informations, consultez Suppression des événements de connexion dans les guides de développement de la Video API Vonage. - ipWhitelist — (Booléen) Cette option est disponible sous la forme d’un fonction complémentaire. Définissez cette valeur sur true si la liste blanche d'adresses IP est activée pour votre projet. La valeur par défaut est false. - iceConfig — (Objet) Cet objet comporte les propriétés suivantes : - includeServers (Chaîne) - Définir ceci à 'custom' et le client utilisera uniquement les serveurs TURN personnalisés que vous fournissez dans le fichier customServers réseau. La valeur de ce tableau est 'all' (par défaut) et le client utilisera à la fois les serveurs TURN personnalisés que vous fournissez et les serveurs TURN d'OpenTok. - transportPolicy (Chaîne) - Définir ceci à 'all' (valeur par défaut) et le client utilisera tous les types de transport ICE (tels que host, srflx et TURN) pour établir la connectivité multimédia. Définissez ce paramètre sur 'relay' pour forcer systématiquement la connexion via TURN et ignorer tous les autres candidats ICE. - customServers (Tableau) — Définissez ici un tableau d'objets décrivant vos serveurs TURN personnalisés. Chaque objet correspond à un serveur TURN personnalisé et comprend les propriétés suivantes : urls — une chaîne de caractères ou un tableau de chaînes, chaque chaîne correspondant à une URL prise en charge par le serveur TURN (il peut s'agir d'une seule URL) ; username — le nom d'utilisateur (chaîne de caractères) du serveur TURN défini dans cet objet ; credential — la chaîne d'authentification du serveur TURN défini dans cet objet. Cette fonctionnalité fait partie du TURN configurable fonction complémentaire. Pour plus d'informations et un exemple de code, consultez la Serveurs TURN configurables Guide du développeur. - encryptionSecret — (Chaîne de caractères) Il s'agit de la clé de chiffrement initiale utilisée par la fonctionnalité de chiffrement de bout en bout. Voir le guide du développeur. - singlePeerConnection — (Booléen) Active la Connexion à un seul pair Fonctionnalité (SPC). La valeur par défaut est false (La fonction SPC est désactivée). - sessionMigration — (Booléen) Active la fonctionnalité de migration de session, permettant au client de rester connecté pendant la rotation des serveurs. La valeur par défaut est false (la migration de session n'est pas activée). Pour plus d'informations, consultez Rotation des serveurs et migration des sessions. |
Retours :
L'objet de session par l'intermédiaire duquel toutes les interactions ultérieures avec la session auront lieu.
(statique) log(message)
Envoie une chaîne de caractères à la console du débogueur. Cependant, la fonction n'enregistre des informations dans la console
que si vous avez défini le niveau de journalisation sur OT.LOG ou OT.DEBUG,
en appelant OT.setLogLevel(OT.LOG) ou OT.setLogLevel(OT.DEBUG).
Paramètres :
| Nom | Type | Description |
|---|---|---|
message |
Chaîne | La chaîne à consigner. |
Voir : : - OT.setLogLevel()
(statique) off(type, gestionnaire, contexte)
Supprime un gestionnaire d'événements.
En transmettant un nom d'événement et une méthode de gestion, la méthode de gestion est supprimée pour cet événement :
OT.off("exceptionEvent", exceptionEventHandler);
Si vous transmettez un nom d'événement et non méthode de gestionnaire : tous les gestionnaires sont supprimés pour cet événement :
OT.off("exceptionEvent");
La méthode prend également en charge une syntaxe alternative, dans laquelle le premier paramètre est un objet représentant une table de correspondance entre les noms d'événements et les fonctions de gestion, et le deuxième paramètre (facultatif) correspond au contexte de correspondance des gestionnaires :
OT.off(
{
exceptionEvent: exceptionEventHandler
},
this
);
Paramètres :
| Nom | Type | Description |
|---|---|---|
type |
Chaîne | (Facultatif) La chaîne de caractères identifiant le type d'événement. Vous pouvez utiliser un espace pour spécifier plusieurs événements, comme dans « eventName1 eventName2 eventName3 ». Si vous n'indiquez aucun type valeur (ou d'autres arguments), tous les gestionnaires d'événements sont supprimés pour l'objet. |
handler |
fonction | (Facultatif) La fonction de gestion d'événement à supprimer. Si vous ne transmettez aucun handler, tous les gestionnaires d'événements sont supprimés pour l'événement spécifié type. |
context |
Objet | (Facultatif) Si vous spécifiez un context, le gestionnaire d'événements est supprimé pour tous les événements spécifiés et tous les gestionnaires qui utilisent le contexte spécifié. |
Voir : : - on() - une fois() - Evénements
(statique) on(type, gestionnaire, contexte)
Ajoute une fonction de gestion d'événements pour un ou plusieurs événements.
L'objet OT génère un seul type d'événement : un exception événement. Le
code suivant ajoute un
détecteur d'événement pour le exception événement :
OT.on("exception", function (event) {
// This is the event handler.
});
Vous pouvez également passer un troisième context paramètre (facultatif) permettant de définir la
valeur de
this dans la méthode de gestionnaire :
OT.on("exception",
function (event) {
// This is the event handler.
}),
session
);
Si vous n'ajoutez pas de gestionnaire pour un événement, celui-ci est ignoré au niveau local.
Paramètres :
| Nom | Type | Description |
|---|---|---|
type |
Chaîne | La chaîne de caractères identifiant le type d'événement. |
handler |
fonction | La fonction de gestion destinée à traiter l'événement. Cette fonction prend l'objet événement en paramètre. |
context |
Objet | (Facultatif) Définit la valeur de this dans la fonction de gestion des événements. |
Voir : : - off() - une fois() - Evénements
(statique) once(type, handler, context)
Ajoute une fonction de gestion d'événement pour un événement donné. Une fois que la fonction de gestion est appelée, la méthode de gestion spécifiée
est
supprimée en tant que gestionnaire de cet événement. (Lorsque vous utilisez la OT.on() méthode permettant d'ajouter un gestionnaire
d'événement ; ce gestionnaire
est pas est supprimé lorsqu’il est appelé.) Le OT.once() Cette méthode équivaut à
appeler la OT.on()
méthode et appel OT.off() lors de la première invocation du gestionnaire.
Le code suivant ajoute un gestionnaire d'événement à exécuter une seule fois pour le exception événement :
OT.once("exception", function (event) {
console.log(event);
}
Vous pouvez également passer un troisième context paramètre (facultatif) permettant de définir la
valeur de
this dans la méthode de gestionnaire :
OT.once("exception",
function (event) {
// This is the event handler.
},
session
);
La méthode prend également en charge une syntaxe alternative, dans laquelle le premier paramètre est un objet qui est un tableau associatif contenant les noms d'événements et les fonctions de gestion, et le deuxième paramètre (facultatif) correspond au contexte utilisé pour celui-ci dans chaque gestionnaire :
OT.once(
{exeption: function (event) {
// This is the event handler.
}
},
session
);
Paramètres :
| Nom | Type | Description |
|---|---|---|
type |
Chaîne | Chaîne identifiant le type d'événement. Vous pouvez spécifier plusieurs noms d'événements dans cette chaîne, en les séparant par un espace. Le gestionnaire d'événements traitera la première occurrence de ces événements. Une fois le premier événement survenu, le gestionnaire est supprimé (pour tous les événements spécifiés). |
handler |
fonction | La fonction de gestion destinée à traiter l'événement. Cette fonction prend l'objet événement en paramètre. |
context |
Objet | (Facultatif) Définit la valeur de this dans la fonction de gestion des événements. |
Voir : : - on() - une fois() - Evénements
(statique) registerScreenSharingExtension(type, identifiant, version)
Enregistrez une extension permettant de prendre en charge le partage d'écran dans une ancienne version de Chrome ou d'Opera.
Remarque : Une extension de partage d'écran n'est pas nécessaire dans Chrome 72 ou versions ultérieures, ni dans Opera 59 ou versions ultérieures. L'utilisateur final est invité à autoriser l'accès à son écran, comme il le ferait pour autoriser l'accès à sa caméra. Une extension de partage d'écran n'est nécessaire que pour les anciennes versions d'Opera et de Chrome.
Utiliser le OT.checkScreenSharingCapability() méthode permettant de vérifier si une extension est
nécessaire, enregistrée et installée.
La Video API de Vonage extensions de partage d'écran Ce dépôt contient du code permettant de créer une extension pour la prise en charge du partage d'écran.
Paramètres :
| Nom | Type | Description |
|---|---|---|
kind |
Chaîne | Définissez ce paramètre sur "chrome". Actuellement, vous ne pouvez enregistrer une extension de partage d'écran que pour les anciennes versions de Chrome et d'Opera. |
id |
Chaîne | L'identifiant de votre extension de partage d'écran. Vous trouverez cet identifiant à l'adresse chrome://extensions. |
version |
Numbers | La version de l'extension de partage d'écran proposée par le extensions de partage d'écran repo. Définissez cette valeur si vous utilisez la version 2 ou une version ultérieure. Par exemple, si vous utilisez la version 2, définissez cette valeur sur 2. Avec la version 2, le client peut utiliser l'extension immédiatement après son installation, sans avoir à recharger la page. |
Voir : : - OT.initPublisher() - OT.checkScreenSharingCapability()
(statique) removeEventListener(type, listener)
Cette méthode est obsolète. Utilisez off() au lieu de cela.
Supprime un écouteur d'événement pour un événement spécifique.
Lance une exception si le listener Le nom n'est pas valide.
Paramètres :
| Nom | Type | Description |
|---|---|---|
type |
Chaîne | La chaîne de caractères identifiant le type d'événement. |
listener |
fonction | La fonction d'écouteur d'événement à supprimer. |
Voir : : - off()
(statique) reportIssue(completionHandler) → {Promise.<string>}
Signalez un problème rencontré avec votre application. Vous pouvez utiliser l'identifiant du problème avec Inspecteur ou lorsque vous discutez d'un problème avec l'équipe d'assistance de l'API Vonage.
Paramètres :
| Nom | Type | Description |
|---|---|---|
completionHandler |
fonction | Fonction facultative appelée lorsque l'appel de cette méthode aboutit ou échoue. Cette fonction prend deux paramètres. Le premier paramètre est un Erreur objet défini lors de l'appel à la fonction reportIssue() échoue (par exemple, si le client n'est pas connecté au réseau) ou que la méthode null lorsque l'appel au reportIssue() La méthode aboutit. Le deuxième paramètre prend la valeur de l'identifiant du rapport (une chaîne de caractères unique) lorsque l'appel aboutit. |
Retours :
Une promesse liée à l'identifiant du rapport
(statique) setAudioOutputDevice() → {Promise}
Définit le nouveau périphérique de sortie audio.
La méthode renvoie une Promise qui se résout lorsque l'opération s'achève avec succès. En cas d'erreur, la Promise est rejetée.
Note: La prise en charge actuelle des navigateurs concerne les versions de bureau de Chrome 49 et versions ultérieures, Firefox 116 et versions ultérieures, Edge 17 et versions ultérieures, Opera 36 et versions ultérieures, Safari 26 et versions ultérieures, ainsi que WebView sur iOS 26 et versions ultérieures.
Voir : : - OT.getAudioOutputDevices() - OT.getActiveAudioOutputDevice()
Retours :
Une promesse qui est résolue lorsque l'opération s'achève avec succès. En cas d'erreur, la promesse est rejetée.
(statique) setLogLevel(logLevel)
Définit le niveau de journalisation de l'API.
Appel OT.setLogLevel() définit le niveau de journalisation des messages de journalisation d'exécution
générés par la bibliothèque Video API Vonage. La valeur par défaut du niveau de journalisation est
OT.ERROR.
La bibliothèque JavaScript de la Video API Vonage affiche les messages de journalisation dans la console du débogueur (comme Firebug), le cas échéant.
L'exemple suivant affiche l'identifiant de session sur la console, en appelant OT.log().
Le code affiche également un message d'erreur lorsqu'il tente de publier un flux avant que vous ne vous soyez
connecté à la session (en appelant Session.connect()).
OT.setLogLevel(OT.LOG);
session = OT.initSession(sessionId);
OT.log(sessionId);
publisher = OT.initPublisher("publishContainer");
session.publish(publisher);
Paramètres :
| Nom | Type | Description |
|---|---|---|
logLevel |
Numbers | Le niveau d'enregistrement souhaité par le développeur : - OT.NONE — La journalisation de l'API est désactivée. - OT.ERROR — Enregistrement des erreurs uniquement. - OT.WARN — Enregistrement des avertissements et des erreurs. - OT.INFO — Enregistrement d'autres informations utiles, en plus des avertissements et des erreurs. - OT.LOG — Enregistrement de OT.log() messages, ainsi que les messages d'information, d'avertissement et d'erreur de la Video API Vonage. - OT.DEBUG — Journalisation détaillée de toutes les actions de l'API, ainsi que OT.log() messages. |
Voir : : - OT.log()
(statique) setProxyUrl()
Permet de définir l'URL du serveur proxy IP. Grâce à la fonctionnalité de proxy IP, le client achemine tout le trafic Internet (à l'exception des flux multimédias) via votre serveur proxy.
Vous devez appeler cette méthode avant d'appeler toute autre méthode de la Video API.
Cela garantit que le serveur proxy est utilisé pour le trafic de la Video API. Sinon,
l'appel échoue, et le OT l'objet déclenche un
exception événement. L'événement OT L'objet déclenche également un
exception même si vous appelez cette méthode après l'avoir
déjà appelée auparavant.
Cette fonctionnalité est disponible en option. Pour plus d'informations, consultez la Guide du développeur de proxy IP.
(statique) unblockAudio()
Permet la lecture du contenu audio des abonnés dans les navigateurs où l'audio est bloqué.
Vous devez appeler cette méthode en réponse à un élément HTML déclenchant
un click événement.
Vous ne devez appeler cette méthode que si vous désactivez l'affichage de
l'icône de lecture audio par défaut de l'abonné (en définissant la
style.audioBlockedDisplayMode de la propriété
options du paramètre
Session.subscribe() (méthode).
Vous pouvez appeler cette méthode lorsque l'utilisateur clique sur un élément HTML
que vous affichez sur la page.
L'abonné envoie un
audio bloqué événement
si le son est bloqué. En réponse à cet événement, vous pouvez afficher un élément d'interface utilisateur
pour inviter l'utilisateur final à réagir à la lecture de l'audio de l'abonné.
Appelez la méthode OT.unblockAudio() méthode déclenchée lorsque l'utilisateur
clique sur un élément DOM.
Remarque : Le son de l'abonné est également débloqué automatiquement si
le client local accède à la caméra ou au microphone (par exemple,
à la suite d'un appel abouti vers OT.initPublisher()).
Voir : : - Subscriber.isAudioBlocked() - Le audio bloqué et audioUnblocked Événements réservés aux abonnés
Retours :
Promesse : la promesse est résolue si la lecture audio aboutit sur tous les abonnés bloqués. La promesse est rejetée en cas d'échec de la lecture. Voir Erreur pour plus de détails.
(statique) upgradeSystemRequirements()
Affiche des informations sur la configuration système requise pour la Video API Vonage pour WebRTC. Ces informations s'affichent dans un élément iframe qui occupe toute la fenêtre du navigateur.
Remarque : Ces informations s'affichent automatiquement lorsque vous appelez le
OT.initSession() ou le OT.initPublisher() méthode
si le client ne prend pas en charge la Video API de Vonage pour WebRTC.
Remarque : Cette fonction sera obsolète à l'avenir.
Voir : : - OT.checkSystemRequirements()
Evénements
exception
Déclenché par la classe OT lorsque l'application rencontre une exception.
Notez que vous devez configurer un gestionnaire d'événements pour le exception événement en appelant la fonction
OT.on() méthode.
Voir : : - ExceptionEvent