Der erste Schritt bei der Nutzung der Vonage Video API besteht darin, die OT.initSession()
Methode. Andere Methoden des OT-Objekts prüfen die Systemanforderungen und richten die Fehlerprotokollierung ein.
Methoden
| Name | Beschreibung |
|---|---|
(static) addEventListener(type, listener) |
Diese Methode ist veraltet. |
(static) checkScreenSharingCapability(callback) → {Promise.<ScreenSharingCapabilityResponse>} |
Prüft, ob die Veröffentlichung von Bildschirmfreigabe-Streams im Client-Browser unterstützt wird. |
(static) checkSystemRequirements() → {Number} |
Prüft, ob das System die Vonage Video API für WebRTC unterstützt. |
(static) getActiveAudioOutputDevice() |
Gibt ein Promise zurück, das das aktuelle Audioausgabegerät zurückgibt. |
(static) getAudioOutputDevices() |
Listet die dem Browser zur Verfügung stehenden Audioausgabegeräte (z. B. Lautsprecher) auf. |
(static) getDevices(callback) → {Promise.<Array.<Device>>} |
Listet die dem Browser zur Verfügung stehenden Audio-Eingabegeräte (z. B. Mikrofone) und Video-Eingabegeräte (Kameras) auf. |
(static) getSupportedCodecs() → {Promise} |
Ruft die Liste der unterstützten Codecs für die Kodierung und Dekodierung von Videostreams ab. |
(static) getUserMedia(options) → {Promise} |
Ruft ein MediaStream-Objekt ab, das ein Mikrofon und eine Kamera als Audio- und Videoquelle verwendet. |
(static) hasEndToEndEncryptionSupport() → {Boolean} |
Ob der Client eine End-to-End-Verschlüsselung unterstützt. |
(static) hasMediaProcessorSupport(mediaType) → {Boolean} |
Ob der Client Medienprozessoren wie Video- und Audiofilter unterstützt. |
(static) initPublisher(targetElement, properties, completionHandler) → {Publisher} |
Initialisiert ein Publisher-Objekt und gibt es zurück. |
(static) initSession(apiKey, sessionId, options) → {Session} |
Initialisiert das lokale Sitzungsobjekt für eine angegebene Sitzungs-ID und gibt es zurück. |
(static) log(message) |
Sendet eine Zeichenfolge an die Debugger-Konsole. |
(static) off(type, handler, context) |
Entfernt einen Ereignis-Handler. |
(static) on(type, handler, context) |
Fügt eine Ereignisbehandlungsfunktion für ein oder mehrere Ereignisse hinzu. |
(static) once(type, handler, context) |
Fügt eine Ereignisbehandlungsfunktion für ein Ereignis hinzu. |
(static) registerScreenSharingExtension(kind, id, version) |
Registrieren Sie eine Erweiterung für die Bildschirmfreigabe in einer älteren Version von Chrome oder Opera. |
(static) removeEventListener(type, listener) |
Diese Methode ist veraltet. |
(static) reportIssue(completionHandler) → {Promise.<string>} |
Melden Sie, dass bei Ihrer App ein Problem aufgetreten ist. |
(static) setAudioOutputDevice() → {Promise} |
Legt das neue Audioausgabegerät fest. |
(static) setLogLevel(logLevel) |
Legt die Protokollierungsstufe der API fest. |
(static) setProxyUrl() |
Legt die URL des IP-Proxy-Servers fest. |
(static) unblockAudio() |
Sorgt dafür, dass die Audioinhalte der Abonnenten in Browsern wiedergegeben werden, in denen Audio blockiert ist. |
(static) upgradeSystemRequirements() |
Zeigt Informationen zu den Systemanforderungen für die Vonage Video API für WebRTC an. |
(static) addEventListener(type, listener)
Diese Methode ist veraltet. Verwenden Sie stattdessen on() oder einmal() stattdessen.
Registriert eine Methode als Ereignis-Listener für ein bestimmtes Ereignis.
Das OT-Objekt löst eine Art von Ereignis aus – ein exception Ereignis. Der
folgende Code fügt einen Ereignis-Listener für das exception Veranstaltung:
OT.addEventListener("exception", exceptionHandler);
function exceptionHandler(event) {
alert("exception event. \n code == " + event.code + "\n message == " + event.message);
}
Wenn für ein Ereignis kein Handler registriert ist, wird das Ereignis lokal ignoriert. Wenn die Ereignis-Listener-Funktion nicht existiert, wird das Ereignis lokal ignoriert.
Löst eine Ausnahme aus, wenn die listener Der Name ist ungültig.
Parameter:
| Name | Typ | Beschreibung |
|---|---|---|
type |
Zeichenfolge | Die Zeichenfolge, die die Art des Ereignisses angibt. |
listener |
Funktion | Die Funktion, die aufgerufen werden soll, wenn das OT-Objekt das Ereignis auslöst. |
(static) checkScreenSharingCapability(callback) → {Promise.<ScreenSharingCapabilityResponse>}
Prüft, ob die Veröffentlichung von Bildschirmfreigabe-Streams im Client-Browser unterstützt wird. Das vom Promise zurückgegebene Objekt gibt an, ob die Bildschirmfreigabe unterstützt wird und welche Bildschirmfreigabequellen (Anwendung, Bildschirm oder Fenster) unterstützt werden. Außerdem wird angegeben, ob eine Erweiterung erforderlich ist, installiert und registriert wurde (falls erforderlich).
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.
}
Dieses Objekt verfügt über die folgenden Eigenschaften, die darauf hinweisen, dass die Veröffentlichung von Bildschirmfreigabe-Streams im Client unterstützt wird:
extensionInstalled(Boolescher Wert) — In älteren Versionen von Chrome und Opera ist dieser Wert auftruesofern die Erweiterung installiert und registriert ist. In Chrome 72+, Firefox 52+, Safari 13+, Opera 59+, Edge 79+ und Internet Explorer ist diese Eigenschaft undefiniert.supported(Boolesch) — Setzen auftruewenn die Bildschirmfreigabe im Browser unterstützt wird. Überprüfen Sie dieextensionRequiredEigenschaft um zu prüfen, ob der Browser eine Erweiterung für die Bildschirmfreigabe benötigt.supportedSources(Objekt) — Veraltet. In älteren Browserversionen konnte man eine Art von Bildschirmfreigabequelle auswählen (z. B."application","browser","screen", oder"window"durch Einstellung dervideoSourceEigenschaft der an dieOT.initPublisher()Methode. In aktuellen Browsern, die die Bildschirmfreigabe unterstützen, führt die Übergabe eines dieser Werte jedoch zum gleichen Verhalten – der Browser zeigt ein Dialogfeld an, in dem der Endbenutzer die Quelle für die Bildschirmfreigabe auswählt (dies kann der gesamte Bildschirm oder ein bestimmtes Fenster sein). In Electron erfasst die Bildschirmfreigabe den gesamten Bildschirm, ohne den Benutzer um Erlaubnis zu bitten.
Der Parameter „options“ enthält außerdem die folgenden Eigenschaften, die für die Bildschirmfreigabe in älteren Versionen von Chrome und Opera gelten (in allen anderen Browsern sind diese Eigenschaften undefiniert):
extensionRequired(Zeichenkette) — Auf"chrome"in älteren Versionen von Chrome und Opera, für die eine Erweiterung zur Bildschirmfreigabe installiert sein muss. In anderen Browsern ist diese Eigenschaft nicht definiert.extensionRegistered(Boolesch) — In älteren Versionen von Chrome und Opera ist diese Eigenschaft auftruewenn eine Erweiterung zur Bildschirmfreigabe registriert ist; ansonsten wird sie auffalse. In anderen Browsern (die keine Erweiterung erfordern) ist diese Eigenschaft undefiniert. Verwenden Sie dieOT.registerScreenSharingExtension()Vorgehensweise zur Registrierung einer Erweiterung für die Bildschirmfreigabe in älteren Versionen von Chrome oder Opera.
Chrome 72+, Firefox 52+, Safari 13+, Edge 79+ und Opera 59+ verfügen über eine integrierte Unterstützung
für die Bildschirmfreigabe, sodass keine Erweiterung erforderlich ist. (Beachten Sie, dass die Unterstützung für das Vonage Video API-Plugin
für Internet Explorer in der Version 2.17 der Vonage Video API entfernt wurde.) Die Bildschirmfreigabe ist
nicht wird in mobilen Browsern unterstützt. In Electron wird die Bildschirmfreigabe unterstützt, wenn
die webPreferences.contextIsolation Die Option des Electron-BrowserWindow ist
auf false oder wenn die App ein Preload-Skript verwendet, um auf den Desktop-Capturer zuzugreifen.
(Der Standardwert von webPreferences.contextIsolation Option ist true
in Electron 12 und false (in früheren Versionen). Um ein Bildschirmfreigabe-Video
in älteren Versionen von Chrome oder Opera zu veröffentlichen, installiert der Kunde eine Erweiterung, die die Veröffentlichung eines
Bildschirmfreigabe-Videostreams auf Ihrer Domain ermöglicht. Die Vonage Video API
Erweiterungen für die Bildschirmfreigabe
Das Beispiel enthält Code zum Erstellen einer Erweiterung für die Bildschirmfreigabe in
älteren Versionen von Chrome und Opera.
Weitere Informationen finden Sie in der Vonage Video API – Bildschirmfreigabe Leitfaden für Entwickler.
Parameter:
| Name | Typ | Beschreibung |
|---|---|---|
callback |
Funktion | Optionaler Callback, der mit dem als Parameter übergebenen Support-Options-Objekt aufgerufen wird. |
Siehe: : - OT.initPublisher() - OT.registerScreenSharingExtension()
Rückgabe:
Ein Versprechen, das es in sich hat
(static) checkSystemRequirements() → {Number}
Prüft, ob das System die Vonage Video API für WebRTC unterstützt. Beachten Sie, dass diese Methode
automatisch aufgerufen wird, wenn Sie OT.initPublisher() oder OT.initSession(),
und falls das System die Vonage Video API nicht unterstützt, zeigt die OpenTok.js-Bibliothek eine Meldung für
den Benutzer an. Rufen Sie die OT.checkSystemRequirements() Methode vor dem Aufruf
OT.initPublisher() oder OT.initSession() falls Sie nicht möchten, dass die
Bibliothek diese Meldung anzeigt.
Siehe: : - OT.upgradeSystemRequirements()
Rückgabe:
Ob das System die Vonage Video API für WebRTC unterstützt (1) oder nicht (0).
(static) getActiveAudioOutputDevice()
Gibt ein Promise zurück, das das aktuelle Audioausgabegerät zurückgibt.
Die Methode gibt ein Promise zurück, das ein Objekt mit zwei Eigenschaften liefert:
deviceId und label, die jeweils Zeichenfolgen sind.
Die deviceId Die Eigenschaft ist eine eindeutige ID für das Gerät. Sie können
die deviceId als Parameter der OT.setAudioOutputDevice() Methode. Die Website deviceId
Die Eigenschaft wird auf „undefined“ gesetzt, wenn der Benutzer zuvor keinen Zugriff auf
eine Kamera und ein Mikrofon gewährt hat.
Die label Die Eigenschaft identifiziert das Gerät. Die label
Die Eigenschaft wird auf eine leere Zeichenfolge gesetzt, wenn der Benutzer zuvor keinen Zugriff auf
eine Kamera und ein Mikrofon gewährt hat.
Hinweis: Derzeit wird die Funktion von den Desktop-Versionen von Chrome 49+, Edge 17+, Opera 36+ sowie den aktuellen Versionen von Samsung Internet, WebView für Android und WebView für iOS unterstützt.
Siehe: : - OT.getAudioOutputDevices() - OT.setAudioOutputDevice()
(static) getAudioOutputDevices()
Listet die dem Browser zur Verfügung stehenden Audioausgabegeräte (z. B. Lautsprecher) auf.
Die Methode gibt ein Promise zurück, das ein Array von Objekten auflöst, die den
verfügbaren Audioausgabegeräten entsprechen. Jedes Objekt verfügt über zwei Eigenschaften: deviceId
und label, die jeweils Zeichenfolgen sind.
Die deviceId Die Eigenschaft ist eine eindeutige ID für das Gerät. Sie können
die deviceId als Parameter der OT.setAudioOutputDevice() Methode. Die Website deviceId
Die Eigenschaft wird auf „undefined“ gesetzt, wenn der Benutzer zuvor keinen Zugriff auf
eine Kamera und ein Mikrofon gewährt hat. Falls keine Audioausgabegeräte verfügbar sind, wird die Eigenschaft
auf null.
Die label Die Eigenschaft identifiziert das Gerät. Die label
Die Eigenschaft wird auf eine leere Zeichenfolge gesetzt, wenn der Benutzer zuvor keinen Zugriff auf
eine Kamera und ein Mikrofon gewährt hat.
Anmerkungen::
- Derzeit wird die Funktion von den Desktop-Versionen von Chrome 49+, Edge 17+, Opera 36+ sowie den aktuellen Versionen von Samsung Internet, WebView für Android und WebView für iOS unterstützt.
- Der Browser kann die Anzahl der angezeigten Audioausgabegeräte auf eines beschränken, bevor der Benutzer den Zugriff auf eine Kamera oder ein Mikrofon gewährt hat.
Siehe: : - OT.setAudioOutputDevice() - OT.getActiveAudioOutputDevice()
(static) getDevices(callback) → {Promise.<Array.<Device>>}
Listet die Audio-Eingabegeräte (z. B. Mikrofone) und Video-Eingabegeräte
(Kameras) auf, die dem Browser zur Verfügung stehen. Diese Methode gibt ein Promise zurück, das das Array der
Geräte enthält. Jedes Objekt verfügt über drei Eigenschaften: kind,
deviceIdund label, die jeweils Zeichenfolgen sind.
Die kind Eigenschaft wird auf "audioInput" für Audio-Eingabegeräte
oder "videoInput" für Video-Eingabegeräte.
Die deviceId Die Eigenschaft ist eine eindeutige ID für das Gerät. Sie können
die deviceId als audioSource oder videoSource
Eigenschaft des options Parameter des
OT.initPublisher() Methode.
Die label Die Eigenschaft identifiziert das Gerät. Die label
Die Eigenschaft wird auf eine leere Zeichenfolge gesetzt, wenn der Benutzer zuvor keinen Zugriff auf
eine Kamera und ein Mikrofon gewährt hat.
Parameter:
| Name | Typ | Beschreibung |
|---|---|---|
callback |
Funktion | Optionale Callback-Funktion, die aufgerufen wird, sobald die Liste der Geräte verfügbar ist. Diese Funktion nimmt zwei Parameter entgegen: - error — Dieses Feld wird auf ein Fehlerobjekt gesetzt, wenn beim Aufruf dieser Methode ein Fehler auftritt; es wird auf null wenn der Aufruf erfolgreich ist. - devices — Ein Array von Objekten, das den verfügbaren Mikrofonen und Kameras entspricht. Anmerkung: Der Browser kann die Anzahl der angezeigten Audio- und Video-Eingabegeräte auf jeweils eines beschränken, bevor der Benutzer den Zugriff auf eine Kamera oder ein Mikrofon gewährt hat. |
Siehe: : - OT.initPublisher()
Rückgabe:
Ein Promise, das die Liste der Geräte enthält
(static) getSupportedCodecs() → {Promise}
Ruft die Liste der unterstützten Codecs für die Kodierung und Dekodierung von Videostreams ab.
Das folgende Beispiel ruft die Liste der unterstützten Codecs für die Kodierung und Dekodierung von Videostreams ab:
(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);
}
})();
Anhand der Listen der unterstützten Videocodecs können Sie feststellen, ob der Client Video unterstützt, je nach bevorzugtem Videocodec und Art der verwendeten Sitzung. Sie können den bevorzugten Videocodec auf der Seite „Projekt“ Ihres Vonage Video API-Konto. In weitergeleitete Sitzungen (Sitzungen, die den Vonage Video API Media Router verwenden) wird für alle Clients in der Sitzung der bevorzugte Videocodec verwendet. In weitergeleiteten Sitzungen senden die Clients Streams direkt untereinander, und jedes Publisher-Subscriber-Paar versucht, einen gemeinsamen Videocodec zu finden, den beide verwenden können. In dieser Hinsicht kann der von dem Paar in einer weitergeleiteten Sitzung verwendete Videocodec von der Einstellung für den bevorzugten Videocodec abweichen. Weitere Informationen finden Sie in der Vonage Video API Video-Codecs Leitfaden für Entwickler.
Rückgabe:
Ein Promise, das aufgelöst wird, sobald die Liste der unterstützten Codecs vorliegt.
Das Promise wird (im Erfolgsfall) mit einem Objekt aufgelöst, das zwei Eigenschaften besitzt:
videoDecoders, eine Reihe von unterstützten Videocodecs für die Dekodierung sowie
videoEncoders, eine Reihe von unterstützten Videocodecs für die Codierung, wie zum Beispiel:
{
videoDecoders: ['H264', 'VP8', 'VP9'],
videoEncoders: ['H264', 'VP8', 'VP9']
}
Die Promise wird abgelehnt, wenn beim Abrufen der Liste ein Fehler auftritt.
(static) getUserMedia(options) → {Promise}
Ruft ein MediaStream-Objekt ab, das ein Mikrofon und eine Kamera als Audio- und Videoquelle verwendet. Diese Methode gibt ein Promise zurück, das aufgelöst wird, sobald der Benutzer die Berechtigung zur Nutzung der Kamera oder des Mikrofons (oder beider) erteilt hat und das MediaStream-Objekt verfügbar ist. Das Promise wird abgelehnt, wenn beim Abrufen der Medien ein Fehler auftritt oder wenn der Endbenutzer den Zugriff auf die Kamera oder das Mikrofon verweigert.
Mit dieser Methode können Sie `MediaStreamTrack`-Objekte abrufen, um sie an die
audioSource und videoSource Optionen des
OT.initPublisher() Methode. Rufen Sie diese Methode beispielsweise auf,
um einen `MediaStream` abzurufen, der das Mikrofon und die Kamera als Audio- und Videoquellen verwendet. Anschließend
können Sie getVideoTracks()[0] auf das MediaStream-Objekt, um ein
MediaStreamTrack-Objekt für das Videomaterial der Kamera abzurufen. Anschließend können Sie das Video-MediaStreamTrack-Objekt
als Quelle für ein HTML-Video-Element hinzufügen, dieses Video-Element in ein HTML-Canvas-Element zeichnen und
Videofilter oder -effekte auf das Canvas anwenden. Dann können Sie die captureStream()
Methode des HTMLCanvasElement-Objekts, um ein MediaStream-Objekt abzurufen und
getVideoTracks()[0] auf das MediaStream-Objekt, um ein Video-MediaStreamTrack-
Objekt zu erhalten (auf das die Videofilter oder -effekte angewendet wurden). Schließlich können Sie das Video-
MediaStreamTrack-Objekt als videoSource Eigenschaft der Optionen, die Sie
an OT.initPublisher(). Der Vonage Video API Publisher verwendet die
Videospur (mit den angewendeten Filtern und Effekten) als Videoquelle.
Parameter:
| Name | Typ | Beschreibung |
|---|---|---|
options |
Objekt | (optional) Legt Einstellungen für das MediaStream-Objekt fest. Die Optionen entsprechen denen, die für das OT.initPublisher() Methode. Allerdings gelten für OT.getUserMedia(): - audioSource - autoGainControl - disableAudioProcessing - echoCancellation - enableStereo - facingMode - frameRate - maxResolution - noiseSuppression - resolution - videoSource |
Siehe:
: - Die Optionen (insbesondere audioSource und videoSource) der
OT.initPublisher() Methode
Rückgabe:
Ein Promise, das erfüllt wird, sobald der Benutzer die Berechtigung zur Nutzung der Kamera oder des Mikrofons (oder beider) erteilt hat und das MediaStream-Objekt verfügbar ist. Das Promise wird abgelehnt, wenn beim Abrufen der Medien ein Fehler auftritt, wenn der Endbenutzer den Zugriff auf die Kamera oder das Mikrofon verweigert oder wenn die Methode im Internet Explorer aufgerufen wird.
(static) hasEndToEndEncryptionSupport() → {Boolean}
Ob der Client eine End-to-End-Verschlüsselung unterstützt.
Das folgende Beispiel aktiviert die End-to-End-Verschlüsselung, sofern diese vom Client unterstützt wird:
// Publish in a session with end-to-end encryption, if supported
if (OT.hasEndToEndEncryptionSupport()) {
session.publish(publisher, error) = {
...
});
}
Siehe: : - OT.initSession() - Session.publish()
Rückgabe:
Ob der Client eine End-to-End-Verschlüsselung unterstützt (true),
oder auch nicht (false).
(static) hasMediaProcessorSupport(mediaType) → {Boolean}
Ob der Client Medienprozessoren wie Video- und Audiofilter unterstützt.
Das folgende Beispiel aktiviert den Filter „Hintergrundunschärfe“, sofern dieser vom Client unterstützt wird:
// 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);
Parameter:
| Name | Typ | Beschreibung |
|---|---|---|
mediaType |
Zeichenfolge | „Audio“, „Video“ oder „beides“. Standardwert ist „beides“. |
Siehe: : - OT.initPublisher() - Publisher.applyVideoFilter() - Publisher.applyAudioFilter()
Rückgabe:
Ob der Client Medienprozessoren unterstützt (true), wie
Video- und Audiofilter, oder auch nicht (false).
(static) initPublisher(targetElement, properties, completionHandler) → {Herausgeber}
Initialisiert ein Publisher-Objekt und gibt es zurück. Dieses Publisher-Objekt können Sie anschließend
an Session.publish() um einen Stream in einer Sitzung zu veröffentlichen.
Anmerkung: Wenn Sie beabsichtigen, ein Publisher-Objekt wiederzuverwenden, um nacheinander in verschiedenen Sitzungen
(oder derselben Sitzung) zu veröffentlichen, fügen Sie einen Ereignis-Listener für das streamDestroyed
Ereignis, das vom Publisher-Objekt ausgelöst wird (wenn es die Veröffentlichung beendet). Rufen Sie im Ereignis-Listener
die preventDefault() Methode des Ereignisobjekts, um zu verhindern, dass das
Video des Publishers von der Seite entfernt wird.
Parameter:
| Name | Typ | Beschreibung |
|---|---|---|
targetElement |
Objekt | (Optional) Das DOM-Element oder das id Attribut des vorhandenen DOM-Elements, das zur Bestimmung der Position des Publisher-Videos im HTML-DOM verwendet wird. Siehe die insertMode Eigenschaft der properties Parameter. Wenn Sie keinen targetElement, fügt die Anwendung ein neues DOM-Element an den HTML-Code an body. Die Anwendung löst einen Fehler aus, wenn ein Element mit einer ID vorhanden ist, die auf die targetElement Der Wert ist im HTML-DOM nicht vorhanden. |
properties |
Objekt | (Optional) Dieses Objekt enthält die folgenden Eigenschaften (die jeweils optional sind): - audioBitrate (Zahl) — Die gewünschte Bitrate für den veröffentlichten Ton, in Bit pro Sekunde. Der unterstützte Wertebereich liegt zwischen 6.000 und 510.000. (Ungültige Werte werden ignoriert.) Legen Sie diesen Wert fest, um Audio in hoher Qualität zu aktivieren (oder um die Bandbreitennutzung bei Audio in geringerer Qualität zu reduzieren). Folgende Einstellungen werden empfohlen: - 8.000 – 12.000 für Schmalband-Sprache (NB) - 16.000 – 20.000 für Breitband-Sprache (WB) - 28.000 – 40.000 für Vollband-Sprache (FB) – 48.000 – 64.000 für Vollband-Musik (FB) Der Standardwert beträgt 40.000. Derzeit wird diese Einstellung in mit Firefox veröffentlichten Streams nicht unterstützt. - audioFallback (Objekt) — Ein Objekt mit Eigenschaften, das festlegt, ob der Stream die Audio-Fallback-Funktion nutzt. Das audioFallback Das Objekt enthält die folgenden Eigenschaften: - publisher (Boolesch) — Gibt an, ob der Stream die Audio-Fallback-Funktion des Publishers nutzt (true) oder nicht (Standard false). Die Audio-Fallback-Funktion des Publishers ist sowohl in gerouteten Sessions (Sessions, die die Vonage Video API Media Router) und weitergeleitete Sitzungen. Ist die Audio-Fallback-Funktion für Publisher aktiviert und wird festgestellt, dass sich die Qualität eines Publishers erheblich verschlechtert hat, wird das Video dieses Publishers deaktiviert, um die Audioqualität zu gewährleisten. Weitere Informationen finden Sie unter „Publisher“ videoDeaktiviert, videoDisableWarning, videoDisableWarningLifted, und videoEnabled Veranstaltungen. - subscriber (Boolesch) — Gibt an, ob der Stream die Audio-Fallback-Funktion für Abonnenten nutzt (true) oder nicht (false). Die Audio-Fallback-Funktion ist in Sitzungen verfügbar, die den Vonage Video API Media Router nutzen. Ist die Audio-Fallback-Funktion aktiviert (Standardeinstellung), deaktiviert der Server das Video für einen bestimmten Teilnehmer, sobald er feststellt, dass die Qualität eines Streams für diesen Teilnehmer erheblich nachgelassen hat, um die Audioqualität zu erhalten. Für Streams, die eine Kamera als Videoquelle verwenden, lautet die Standardeinstellung true (Die Audio-Fallback-Funktion ist aktiviert). Die Standardeinstellung lautet false (die Audio-Fallback-Funktion ist deaktiviert) für Bildschirmfreigabe-Streams, die die videoSource Eigenschaft gesetzt auf "application", "screen", oder "window" in der OT.initPublisher() Optionen. Weitere Informationen finden Sie im Abschnitt „Abonnent“ videoDeaktiviert Veranstaltung und Der Vonage Video API Media Router und die Medienmodi. - audioFilter (Objekt) — Ein Objekt, das Eigenschaften enthält, die den auf den Audiostream des Publishers anzuwendenden Audiofilter definieren. Die folgenden Filter werden unterstützt: - Erweiterter Filter zur Rauschunterdrückung - Stellen Sie die type Eigenschaft des Objekts zu "advancedNoiseSuppression".Anmerkung: Audiofilter werden nur in den aktuellen Versionen von Chrome, Electron, Opera, Edge, Samsung Internet und WebView für Android unterstützt. In anderen (nicht auf Chromium basierenden) Browsern oder unter iOS werden sie nicht unterstützt. Sie können überprüfen, ob der Client diese Funktion unterstützt, indem Sie die OT.hasMediaProcessorSupport('audio') Methode. Sie können den Audiofilter ändern, indem Sie die Publisher.applyAudioFilter() Methode. Sie können den Audiofilter entfernen, indem Sie die Publisher.clearAudioFilter() Methode. - audioSource (String, MediaStreamTrack, Boolean oder null) — Die ID des Audio-Eingabegeräts (z. B. eines Mikrofons), das vom Publisher verwendet werden soll. Eine Liste der verfügbaren Geräte, einschließlich der Audio-Eingabegeräte, erhalten Sie durch Aufruf der OT.getDevices() Methode. Jedes von der Methode aufgelistete Gerät verfügt über eine eindeutige Geräte-ID. Wenn Sie eine Geräte-ID übergeben, die nicht mit einem vorhandenen Audio-Eingabegerät übereinstimmt, führt der Aufruf von OT.initPublisher() schlägt mit einem Fehler (Fehlercode 1500, „Veröffentlichung nicht möglich“) fehl, der an die Completion-Handler-Funktion übergeben wird. Wenn Sie diese Eigenschaft auf null oder false, fordert der Browser keinen Zugriff auf das Mikrofon an, und es wird kein Ton ausgegeben. Sie können diese Eigenschaft auch auf einen Audio-Wert setzen MediaStreamTrack Objekt. Auf diese Weise können Sie das Objekt als Audioquelle für den veröffentlichten Stream verwenden. Sie können beispielsweise ein Array von „MediaStreamTrack“-Objekten aus dem audioTracks Eigenschaft eines HTMLMediaElement-Objekts. Oder Sie können die getLocalStreams() oder getRemoteStreams() Methode eines RTCPeerConnection-Objekts, um ein Array von MediaStream-Objekten abzurufen, und anschließend die getAudioTracks() Methode eines der MediaStream-Objekte, um ein Audio-MediaStreamTrack-Objekt abzurufen. - autoGainControl (Boolescher Wert) — Gibt an, ob die automatische Verstärkungsregelung für das veröffentlichte Audiomaterial aktiviert werden soll. Möglicherweise möchten Sie diesen Wert auf false beim Veröffentlichen von Audio in hoher Qualität (durch Einstellen der audioBitrate Eigenschaft der OT.initPublisher() Optionen). Der Standardwert ist true. Diese Einstellung wird ignoriert, wenn Sie disableAudioProcessing zu true (wodurch die Echokompensation, die automatische Verstärkungsregelung und die Rauschunterdrückung für den veröffentlichten Stream deaktiviert werden). - disableAudioInputDeviceManagement (Boolescher Wert) — Gibt an, ob die automatische Umschaltung des Audioeingabegeräts deaktiviert werden soll. Möglicherweise möchten Sie diesen Wert auf true falls Sie die Geräteverwaltung selbst übernehmen möchten. Anmerkung: Dies ist eine Funktion für Fortgeschrittene. Verwenden Sie sie nicht, ohne zuvor die Geräteverwaltung für Ihre Anwendung implementiert zu haben. Wenn Sie diese Funktion aktivieren, wird das vom SDK verwendete Audio-Eingabegerät wird nicht aktualisiert werden, wenn der Endbenutzer sein Mikrofon wechselt. Der Standardwert lautet false. - disableAudioProcessing (Boolescher Wert) — Gibt an, ob die Echounterdrückung, die automatische Verstärkungsregelung und die Rauschunterdrückung für den übertragenen Ton deaktiviert werden sollen. Möglicherweise möchten Sie diesen Wert auf true beim Veröffentlichen von Audio in hoher Qualität (durch Einstellen der audioBitrate Eigenschaft der OT.initPublisher() Optionen). Der Standardwert ist false. - echoCancellation (Boolescher Wert) — Gibt an, ob die Echounterdrückung für den veröffentlichten Ton aktiviert werden soll. Möglicherweise möchten Sie diesen Wert auf false beim Veröffentlichen von Audio in hoher Qualität (durch Einstellen der audioBitrate Eigenschaft der OT.initPublisher() Optionen). Der Standardwert ist true. Diese Einstellung wird ignoriert, wenn Sie disableAudioProcessing zu true (wodurch die Echokompensation, die automatische Verstärkungsregelung und die Rauschunterdrückung für den veröffentlichten Stream deaktiviert werden). - enableStereo (Boolescher Wert) — Gibt an, ob Stereo-Audio wiedergegeben werden soll. Der Standardwert ist false. Anmerkung: Einige Browser (z. B. Chrome 73+) unterstützen keine Echounterdrückung für Stereo-Audio (siehe dieser Chrome-Fehlerbericht). - enableDtx (Boolesch) — Ob aktiviert werden soll Opus DTX. Der Standardwert ist false. Wenn man dies auf true kann den Bandbreitenverbrauch bei Streams mit langen Stillphasen reduzieren. - Ausrichtungsmodus (Zeichenkette) — Die bevorzugte Kameraposition für die Videoquelle. Im Allgemeinen gilt diese Einstellung nur für mobile Geräte. Hier kann einer der folgenden Werte festgelegt werden: - "user" — Die Frontkamera. - "environment" — Die Rückkamera. - "left" — Die Kamera ist auf den Benutzer gerichtet, befindet sich jedoch links davon (selten). - "right" — Die Kamera ist auf den Benutzer gerichtet, befindet sich jedoch rechts davon (selten). - fitMode (Zeichenkette) — Legt fest, wie das Video angezeigt wird, wenn seine Abmessungen nicht mit denen des DOM-Elements übereinstimmen. Sie können diese Eigenschaft auf einen der folgenden Werte setzen: - "cover" — Das Video wird beschnitten, wenn seine Abmessungen nicht mit denen des DOM-Elements übereinstimmen. Dies ist die Standardeinstellung für Videos, die ein Kamerabild übertragen. - "contain" — Das Video wird im Letterbox-Format angezeigt, wenn seine Abmessungen nicht mit denen des DOM-Elements übereinstimmen. Dies ist die Standardeinstellung für Videos bei der Bildschirmfreigabe. - Bildfrequenz (Zahl) — Die gewünschte Bildrate des Videos in Bildern pro Sekunde. Gültige Werte sind 30, 15, 7 und 1. Der veröffentlichte Stream verwendet den Wert, der dem eingestellten Wert am nächsten liegt und vom Veröffentlichungsclient unterstützt wird. Die Bildrate kann je nach Browser des Clients geringfügig von dem von Ihnen festgelegten Wert abweichen. Außerdem wird die gewünschte Bildrate vom Video nur dann verwendet, wenn die Client-Konfiguration diese unterstützt. Wenn der Publisher eine Bildrate angibt, wird die tatsächliche Bildrate des Videostreams auf den frameRate Eigenschaft des Stream-Objekts, wobei die tatsächliche Bildrate jedoch je nach den jeweiligen Netzwerk- und Systembedingungen variieren kann. Wenn der Entwickler keine Bildrate angibt, ist diese Eigenschaft undefiniert. Gilt dies auch, wenn es sich bei der Videoquelle um ein Video-MediaStreamTrack-Objekt handelt (siehe die videoSource), wird dieser Wert ignoriert und die Bildrate wird durch das `MediaStreamTrack`-Objekt festgelegt, das Sie durch Aufruf der getConstraints() Methode des MediaStreamTrack-Objekts. Für Sitzungen, die den Vonage Video API Media Router verwenden (Sitzungen mit dem Medienbetrieb Ist die Einstellung auf „routed“ gesetzt, verringert eine proportionale Senkung der Bildrate die maximale Bandbreite, die der Stream nutzt. In Sitzungen, bei denen der Medienmodus auf „relayed“ eingestellt ist, führt eine Senkung der Bildrate jedoch nicht zu einer Verringerung der Bandbreite des Streams. Sie können außerdem die Bildrate des Videostreams eines Abonnenten begrenzen. Um die Bildrate eines Abonnenten zu begrenzen, rufen Sie die restrictFrameRate() Methode des Teilnehmers, wobei true. (Siehe Subscriber.restrictFrameRate().) – Höhe (Zahl oder Zeichenfolge) – Die gewünschte Anfangshöhe des auf der HTML-Seite angezeigten Publisher-Videos (Standard: 198 Pixel). Sie können die Anzahl der Pixel entweder als Zahl (z. B. 300) oder als Zeichenfolge mit der Endung „px“ (z. B. „300px“) angeben. Alternativ können Sie einen Prozentsatz der Größe des übergeordneten Elements angeben, und zwar mit einer Zeichenfolge, die auf „%“ endet (z. B. „100%“). Anmerkung: Um die Größe des Publisher-Videos anzupassen, ändern Sie das CSS des DOM-Elements des Publishers (das element Eigenschaft des Publisher-Objekts) oder (wenn die Höhe als Prozentwert angegeben ist) dessen übergeordnetes DOM-Element (siehe Größe eines Videos ändern oder Position eines Videos anpassen). - Initialen (Zeichenkette) — Die Abkürzung für diesen Stream. Diese Abkürzung wird in jeder Publisher- und Subscriber-Ansicht als zentrierter Text in Großbuchstaben angezeigt, wenn das Video deaktiviert ist und keine backgroundImageURI ist gesetzt. Wenn backgroundImageURI Wenn diese Option gesetzt ist, hat sie Vorrang und wird anstelle der Initialen angezeigt. Die Initialen werden zudem als initials Eigenschaft des Stream-Objekts. Jede ein- oder zweistellige Zeichenfolge (unabhängig von der Groß-/Kleinschreibung) ist zulässig. Werden ungültige Initialen verwendet, wird kein Fehler ausgelöst und die Initialen werden nicht gesetzt. - insertDefaultUI (Boolesch) — Gibt an, ob die Standard-Benutzeroberfläche der Vonage Video API verwendet werden soll (true, die Standardeinstellung) oder nicht (false). Das Standard-UI-Element enthält neben dem Video selbst auch Bedienelemente, eine Ladeanzeige für das Video sowie Funktionen zum automatischen Zuschneiden oder zur Letterbox-Anpassung. (Wenn Sie insertDefaultUI auf … einstellen true, können Sie einzelne UI-Einstellungen über die fitMode, showControlsund style Optionen.) Wenn Sie diese Option auf false, OpenTok.js fügt kein Standard-UI-Element in das HTML-DOM ein, und das element Die Eigenschaft des Publisher-Objekts ist nicht definiert. Stattdessen löst das Publisher-Objekt ein videoElementCreated Ereignis, wenn das video Element (oder im Internet Explorer das object Element, das das Video enthält) wird erstellt. Das element Die Eigenschaft des Ereignisobjekts ist ein Verweis auf den Publisher. video (oder object) Element. Fügen Sie es dem HTML-DOM hinzu, um das Video anzuzeigen. Setzen Sie diese Option auf false Wenn Sie den Verlag video (oder object) im HTML-DOM. Wenn Sie diesen Wert auf falsesetzen Sie nicht die targetElement Parameter. (Dies führt zu einem Fehler, der an die OT.initPublisher() Callback-Funktion.) Um das Video zum HTML-DOM hinzuzufügen, fügen Sie einen Ereignis-Listener für das videoElementCreated Ereignis und fügen Sie anschließend das element Eigenschaft des Ereignisobjekts in das HTML-DOM. - insertMode (Zeichenkette) — Legt fest, wie das Publisher-Objekt in das HTML-DOM eingefügt wird. Siehe die targetElement Parameter. Diese Zeichenfolge kann die folgenden Werte annehmen: - "replace" — Das Publisher-Objekt ersetzt den Inhalt des targetElement. Dies ist die Standardeinstellung. - "after" — Das „Publisher“-Objekt ist ein neues Element, das nach dem „targetElement“ in das HTML-DOM eingefügt wird. (Sowohl das „Publisher“-Objekt als auch das „targetElement“ haben dasselbe übergeordnete Element.) - "before" — Das „Publisher“-Objekt ist ein neues Element, das vor dem „targetElement“ in das HTML-DOM eingefügt wird. (Sowohl das „Publisher“-Objekt als auch das „targetElement“ haben dasselbe übergeordnete Element.) - "append" — Das „Publisher“-Objekt ist ein neues Element, das als untergeordnetes Element des „targetElement“ hinzugefügt wird. Falls weitere untergeordnete Elemente vorhanden sind, wird das „Publisher“-Objekt als letztes untergeordnetes Element des „targetElement“ angehängt. - maxResolution (Objekt) — Legt die maximale Auflösung für den Stream fest. Diese Einstellung gilt nur, wenn die videoSource Die Eigenschaft ist auf "application", "screen", oder "window" (wenn der Herausgeber seine Bildschirmansicht freigibt). Die Auflösung des Streams entspricht dem erfassten Bildschirmbereich, es sei denn, dieser Bereich ist größer als der maxResolution Einstellung. Legen Sie hierfür ein Objekt fest, das zwei Eigenschaften aufweist: width und height (beide Numbers). Der Maximalwert für jede der width und height Der Wertebereich liegt zwischen 1920 und 10. - Spiegel (Boolescher Wert) — Gibt an, ob das Videobild des Herausgebers auf dessen Seite gespiegelt wird. Der Standardwert lautet true (das Videobild ist gespiegelt), mit Ausnahme eines Bildschirmfreigabe-Videos (wenn das videoSource Eigenschaft wird auf "application", "screen", oder "window" (in diesem Fall lautet die Standardeinstellung false). Diese Eigenschaft hat keinen Einfluss auf die Darstellung des Videos in den Ansichten der Abonnenten. - Name (Zeichenkette) — Der Name dieses Streams. Der Name wird am unteren Rand der Abonnenten-Videos angezeigt. Der Standardwert ist "" (eine leere Zeichenkette). Wird hier eine Zeichenkette mit mehr als 1000 Zeichen festgelegt, führt dies zu einer Laufzeitausnahme. - noiseSuppression (Boolescher Wert) — Gibt an, ob die Rauschunterdrückung für das veröffentlichte Audiomaterial aktiviert werden soll. Möglicherweise möchten Sie diesen Wert auf false beim Veröffentlichen von Audio in hoher Qualität (durch Einstellen der audioBitrate Eigenschaft der OT.initPublisher() Optionen). Der Standardwert ist true. Diese Einstellung wird ignoriert, wenn Sie disableAudioProcessing zu true (wodurch die Echokompensation, die automatische Verstärkungsregelung und die Rauschunterdrückung für den veröffentlichten Stream deaktiviert werden). - bevorzugte Videokodecs ('automatic' oder Array von 'vp8', 'vp9', 'h264') — Legt die Priorität der bevorzugten Videocodecs für die Veröffentlichung fest. Wird dieser Parameter weggelassen, verwendet das SDK die Standardeinstellung des Projekts. Setzen Sie den Wert auf 'automatic' damit das SDK die am besten geeignete Reihenfolge auswählen kann. Oder geben Sie ein explizites Array an, um die Codec-Präferenz festzulegen (z. B. ['vp9', 'h264']). Ist der Wert ungültig (z. B. ein leeres Array oder ein nicht unterstützter Codec), schlägt die Initialisierung des Publishers mit einem OT_INVALID_PARAMETER Fehler. - Audio veröffentlichen (Boolescher Wert) — Gibt an, ob für den Stream zunächst Audio veröffentlicht werden soll (Standard: true). Diese Einstellung gilt, wenn Sie das Publisher-Objekt bei einem Aufruf der Session.publish() Methode. - Video veröffentlichen (Boolescher Wert) — Gibt an, ob das Video für den Stream zunächst veröffentlicht werden soll (Standard: true). Diese Einstellung gilt, wenn Sie das Publisher-Objekt bei einem Aufruf der Session.publish() Methode. - Bildunterschriften veröffentlichen (Boolescher Wert) — Gibt an, ob Bildunterschriften für den Stream von Anfang an veröffentlicht werden sollen (Standard: false). Diese Einstellung gilt, wenn Sie das Publisher-Objekt bei einem Aufruf der Session.publish() Methode. Diese Eigenschaft hat keine Auswirkung, wenn Beschriftungen auf Sitzungsebene nicht aktiviert wurden. Weitere Informationen finden Sie unter Live-Unterschriften Entwicklerhandbuch. - publishSenderStats (Boolescher Wert) — Gibt an, ob ein Kanal für Absenderstatistiken für den Stream aktiviert werden soll (Standard: false). Diese Einstellung gilt, wenn Sie das Publisher-Objekt bei einem Aufruf der Session.publish() Methode. - Entschließung (Zeichenkette) — Die gewünschte Auflösung des Videos. Das Format der Zeichenkette lautet "widthxheight", wobei Breite und Höhe in Pixeln angegeben werden. Gültige Werte sind "1920x1080", "1280x720", "640x480", und "320x240". Das veröffentlichte Video verwendet die gewünschte Auflösung nur, wenn die Client-Konfiguration diese unterstützt. Einige Browser und Clients unterstützen nicht alle diese Auflösungseinstellungen. Die angeforderte Auflösung eines Videostreams wird als videoDimensions.width und videoDimensions.height Eigenschaften des Stream-Objekts. Wenn Sie keine Auflösung angeben, verwendet der Browser die Standardauflösung der Kamera. Die meisten physischen Kameras haben eine Standardauflösung von 640x480, andere Kameras, insbesondere virtuelle Kameras, weisen jedoch andere Standardauflösungen auf. Wenn das Client-System die von Ihnen angeforderte Auflösung nicht unterstützt, verwendet der Stream die nächsthöhere unterstützte Einstellung. Die vom Publisher tatsächlich verwendete Auflösung wird von der videoHeight() und videoWidth() Methoden des Publisher-Objekts. Die tatsächliche Auflösung eines Subscriber-Videostreams wird von der videoHeight() und videoWidth() Eigenschaften des Subscriber-Objekts. Diese können von den Werten des resolution Eigenschaft, die als properties Eigenschaft des OT.initPublisher() Methode: Wenn der Browser die angeforderte Auflösung nicht unterstützt, wird dieser Wert ignoriert. Auch wenn es sich bei der Videoquelle um ein `MediaStreamTrack`-Objekt handelt (siehe die videoSource), wird dieser Wert ignoriert und die Auflösung wird durch das MediaStreamTrack-Objekt festgelegt, das Sie durch Aufruf der getConstraints() Methode des MediaStreamTrack-Objekts. - Skalierbare Bildschirmfreigabe (Boolescher Wert) — Gibt an, ob die Verwendung von skalierbares Video für einen Verlag, der über die videoSource eingestellt auf "screen" (true) oder auch nicht (false(Standard). - scalableVideo (Boolesch) — Ob (true, (Standard) oder deaktivieren (false) skalierbares Video für den Herausgeber. Dies gilt nur in einer gerouteten Sitzung (d. h. einer Sitzung, die die Vonage Video API Media Router). Anmerkung: Standardmäßig ist die skalierbare Videoanzeige bei Bildschirmfreigabe-Videos deaktiviert. Sie können die scalableScreenshare Option zu true um skalierbares Video für Bildschirmfreigabe-Streams zu ermöglichen. Allerdings ist die Einstellung scalableVideo zu false deaktiviert skalierbares Video für alle Videoquellen (und die scalableScreenshare Die Einstellung wird bei Bildschirmfreigabe-Streams ignoriert). - showControls (Boolescher Wert) — Gibt an, ob die integrierten Bedienelemente der Benutzeroberfläche angezeigt werden sollen (Standard: true) für den Publisher. Zu diesen Steuerelementen gehören die Namensanzeige, die Lautstärkanzeige und die Schaltfläche zur Mikrofonsteuerung. Sie können alle Steuerelemente der Benutzeroberfläche deaktivieren, indem Sie diese Eigenschaft auf false. Sie können die Darstellung einzelner Steuerelemente der Benutzeroberfläche steuern, indem Sie diese Eigenschaft auf true (die Standardeinstellung) und das Festlegen einzelner Eigenschaften des style Eigenschaft. - Stil (Objekt) — Ein Objekt, das Eigenschaften enthält, die das anfängliche Erscheinungsbild der Benutzeroberflächenelemente des Publisher definieren. Das style Das Objekt enthält die folgenden Eigenschaften: - audioLevelDisplayMode (Zeichenkette) — Wie die Audiopegelanzeige dargestellt werden soll. Mögliche Werte sind: "auto" (Das Symbol wird angezeigt, wenn das Video deaktiviert ist), "off" (die Anzeige wird nicht angezeigt) und "on" (Die Anzeige ist immer sichtbar). - archiveStatusDisplayMode (Zeichenkette) — Wie die Anzeige für den Archivstatus dargestellt werden soll. Mögliche Werte sind: "auto" (Die Anzeige erscheint, wenn die Sitzung aufgezeichnet wird), "off" (das Kennzeichen wird nicht angezeigt). Wenn Sie die Anzeige des Archivstatus deaktivieren, können Sie eigene Benutzeroberflächen-Meldungen auf der Grundlage der archiveStarted und archiveStopped Ereignisse, die vom Session-Objekt ausgelöst werden. - backgroundImageURI (Zeichenkette) — Eine URI für ein Bild, das als Hintergrundbild angezeigt werden soll, wenn kein Video angezeigt wird. (Ein Video wird möglicherweise nicht angezeigt, wenn Sie publishVideo(false) (im Publisher-Objekt). Sie können eine HTTP- oder HTTPS-URI an den Speicherort einer PNG-, JPEG- oder nicht animierten GIF-Datei übergeben. Sie können auch die data URI-Schema (anstelle von http oder https) und übergeben Sie Base-64-verschlüsselte PNG-Daten, wie sie beispielsweise aus der Publisher.getImgData() Methode. (Beispielsweise könnten Sie die Eigenschaft auf einen Wert setzen, der durch den Aufruf von getImgData() (auf einem vorherigen Publisher-Objekt.) Ist die URL oder die Bilddaten ungültig, wird die Eigenschaft ignoriert (der Versuch, das Bild festzulegen, schlägt ohne Fehlermeldung fehl). - buttonDisplayMode (Zeichenkette) — Wie sollen die Mikrofon-Steuerelemente angezeigt werden? Mögliche Werte sind: "auto" (Die Steuerelemente werden angezeigt, wenn der Stream zum ersten Mal angezeigt wird und wenn der Benutzer mit der Maus über die Anzeige fährt), "off" (die Steuerelemente werden nicht angezeigt) und "on" (Die Steuerelemente werden immer angezeigt.) - nameDisplayMode (Zeichenkette) — Gibt an, ob der Stream-Name angezeigt werden soll. Mögliche Werte sind: "auto" (Der Name wird angezeigt, wenn der Stream zum ersten Mal angezeigt wird und wenn der Benutzer mit der Maus über die Anzeige fährt), "off" (der Name wird nicht angezeigt) und "on" (Der Name wird immer angezeigt). - videoDisabledDisplayMode (Zeichenkette) — Gibt an, ob die Anzeige der Symbole für „Video deaktiviert“ und „Warnung: Video deaktiviert“ für das Publisher-Objekt aktiviert werden soll. Diese Symbole zeigen an, dass das Video aufgrund schlechter Stream-Qualität deaktiviert wurde (bzw. im Falle des Warnsymbols deaktiviert werden könnte). Dieser Stil gilt nur für das Publisher-Objekt. Mögliche Werte sind: "auto" (Die Symbole werden automatisch angezeigt, wenn das angezeigte Video deaktiviert ist oder aufgrund schlechter Stream-Qualität deaktiviert zu werden droht), "off" (Symbole nicht anzeigen) und "on" (Symbole anzeigen). Die Standardeinstellung lautet "auto". - videoContentHint (Zeichenkette) — Legt den Inhaltshinweis für die Videospur des Streams des Anbieters fest. Dadurch können Browser Kodierungs- oder Verarbeitungsmethoden verwenden, die für den jeweiligen Inhaltstyp besser geeignet sind. Sie können hierfür einen der folgenden Werte festlegen: - "" — Es wird kein Hinweis angezeigt (Standardeinstellung). - "motion" — Die Spur sollte so behandelt werden, als ob sie Videomaterial enthielte, bei dem Bewegung eine wichtige Rolle spielt. Diese Einstellung können Sie beispielsweise für einen Bildschirmfreigabe-Stream verwenden, der Videomaterial enthält. - "detail" — Bei dieser Spur sollte besonders darauf geachtet werden, dass die Videodetails von besonderer Bedeutung sind. Diese Einstellung eignet sich beispielsweise für einen Bildschirmfreigabe-Stream, der Textinhalte, Zeichnungen oder Strichzeichnungen enthält. - "text" — Der Track sollte so behandelt werden, als seien Textdetails besonders wichtig. Diese Einstellung können Sie beispielsweise für einen Bildschirmfreigabe-Stream verwenden, der Textinhalte enthält. Bei den Inhaltshinweisen „text“ und „detailed“ versucht der Browser, eine hohe Auflösung beizubehalten, auch wenn er dafür die Bildrate des Videos reduzieren muss. Beim Inhaltshinweis „motion“ reduziert der Browser die Auflösung, um ein Abreißen der Bildrate zu verhindern. Weitere Informationen zu diesen Optionen finden Sie in der W3C-Arbeitsentwurf. Möglicherweise möchten Sie den Hinweis zum Videoinhalt festlegen, um die Leistung bei Videos zur Bildschirmfreigabe zu optimieren. Sie können ihn beispielsweise auf "text" beim Teilen eines Bildschirms, der viel Text enthält (z. B. eine Präsentation). Chrome 60+, Safari 12.1+, Edge 79+, Opera 47+, aktuelle Versionen von Samsung Internet, WebView unter Android 70+ sowie WebView unter iOS 12.2+ unterstützen Hinweise zu Videoinhalten. Siehe auch die Publisher.setVideoContentHint() Methode und die Thema im Entwicklerhandbuch zu dieser Funktion. - videoFilter (Objekt) — Ein Objekt, das Eigenschaften enthält, die den Videofilter definieren, der auf den Videostream des Publishers angewendet werden soll. Die folgenden Filter werden unterstützt: - Filter zur Hintergrundunschärfe - Stellen Sie die type Eigenschaft des Objekts zu "backgroundBlur". Ein Filterobjekt für die Hintergrundunschärfe enthält ein zusätzliches blurStrength Eigenschaft, die den Unschärferadius festlegt und optional ist. Setzen Sie diesen Wert entweder auf "low" oder "high" (Standard). - Filter zum Ersetzen des Hintergrunds - Stellen Sie die type Eigenschaft des Objekts zu "backgroundReplacement". Ein Filterobjekt zum Ersetzen des Hintergrunds enthält ein zusätzliches backgroundImgUrl Eigenschaft, die die URL des zu verwendenden Hintergrundbildes definiert. Ebenfalls zulässig sind Bild-BLOBs (eine Base64-kodierte Zeichenfolge mit Bilddaten). Die folgenden Bildformate werden unterstützt: BMP, PNG, JPEG und GIF. Das Hintergrundbild wird an die Abmessungen des veröffentlichten Videos angepasst. Um optimale Ergebnisse zu erzielen, verwenden Sie ein Bild, das dieselben Abmessungen (oder zumindest dasselbe Seitenverhältnis) wie das veröffentlichte Video hat. Legen Sie die mirror Option für false beim Aufruf der OT.initPublisher() Methode, um das Hintergrundbild auf der Seite des Herausgebers in der richtigen Ausrichtung (nicht gespiegelt) anzuzeigen.Anmerkung: Videofilter werden nur in neueren Versionen von Chrome, Firefox, Electron, Opera, Edge, Samsung Internet, WebView für Android sowie in den neuesten Versionen von Safari (Version 26+) und iOS WebView (Version 26+) unterstützt. Sie können überprüfen, ob der Client diese Funktion unterstützt, indem Sie die OT.hasMediaProcessorSupport('video') Methode. Sie können den Videofilter ändern, indem Sie die Publisher.applyVideoFilter() Methode. Sie können den Videofilter entfernen, indem Sie die Publisher.clearVideoFilter() Methode. - videoSource (String, MediaStreamTrack, Boolean oder null) — Die ID des vom Publisher zu verwendenden Videoeingabegeräts (z. B. einer Kamera). Eine Liste der verfügbaren Geräte, einschließlich der Videoeingabegeräte, erhalten Sie durch Aufruf der OT.getDevices() Methode. Jedes von der Methode aufgelistete Gerät verfügt über eine eindeutige Geräte-ID. Wenn Sie eine Geräte-ID übergeben, die nicht mit einem vorhandenen Videoeingabegerät übereinstimmt, führt der Aufruf von OT.initPublisher() schlägt mit einem Fehler (Fehlercode 1500, „Veröffentlichung nicht möglich“) fehl, der an die Completion-Handler-Funktion übergeben wird. Wenn Sie diese Eigenschaft auf null oder false, fordert der Browser keinen Zugriff auf die Kamera an, und es wird kein Video übertragen. Bei einem reinen Sprachanruf setzen Sie diese Eigenschaft auf null oder false für jeden Publisher. Um einen Bildschirmfreigabe-Stream zu veröffentlichen, setzen Sie diese Eigenschaft auf "screen". In älteren Browserversionen konnte man außerdem "application" oder "window" um eine Art von Bildschirmfreigabequelle anzugeben. In aktuellen Browsern, die die Bildschirmfreigabe unterstützen, führt die Übergabe eines dieser Werte jedoch zu demselben Verhalten – der Browser zeigt ein Dialogfeld an, in dem der Endbenutzer die Bildschirmfreigabequelle auswählt (dies kann der gesamte Bildschirm oder ein bestimmtes Fenster sein). In Electron wird bei der Bildschirmfreigabe der gesamte Bildschirm erfasst, ohne dass der Benutzer um Erlaubnis gefragt wird. Für Bildschirmfreigabe-Streams gelten die folgenden Standardwerte für andere Eigenschaften: audioFallbackEnabled == false, maxResolution == {width: 1920, height: 1920}, mirror == false, scaleMode == "fit". Außerdem ist die Standardeinstellung scaleMode Die Einstellung für die Abonnenten des Streams lautet "fit". In Safari kann die Initialisierung eines Bildschirmfreigabe-Publishers ohne Handler für Benutzeraktionen zu einem InvalidAccessError Fehler. Sie können diese Eigenschaft auch auf ein Video setzen MediaStreamTrack Objekt. Auf diese Weise können Sie das „MediaStreamTrack“-Objekt als Videoquelle für den veröffentlichten Stream verwenden. Sie können beispielsweise ein „CanvasCaptureMediaStream“-Objekt abrufen, indem Sie die captureStream() Methode eines HTMLCanvasElement, und anschließend können Sie die getVideoTracks() Methode des CanvasCaptureMediaStream-Objekts, um ein Video-MediaStreamTrack-Objekt abzurufen. Alternativ können Sie ein Array von Video-MediaStreamTrack-Objekten aus dem videoTracks Eigenschaft eines HTMLMediaElement-Objekts. Oder Sie können die getLocalStreams() oder getRemoteStreams() Methode eines RTCPeerConnection-Objekts, um ein Array von MediaStream-Objekten abzurufen, und anschließend die getVideoTracks() Methode eines der MediaStream-Objekte, um ein Array von Video-MediaStreamTrack-Objekten abzurufen. Beachten Sie, dass der Publisher standardmäßig ein Mikrofon als Audioquelle verwendet; stellen Sie daher sicher, dass Sie die audioSource Option, wenn Sie einen MediaStreamTrack als Audioquelle verwenden möchten oder wenn Sie keine Audiospur veröffentlichen möchten. Die Standardeinstellung mirror Die Einstellung für einen Publisher mit einer „MediaStreamTrack“-Videoquelle lautet false. Sie können auch anrufen OT.getUserMedia() um ein MediaStream-Objekt zu erhalten, das das Mikrofon und die Kamera als Audio- und Videoquellen nutzt. - Breite (Zahl oder Zeichenfolge) – Die gewünschte Anfangsbreite des auf der HTML-Seite angezeigten Publisher-Videos (Standard: 264 Pixel). Sie können die Anzahl der Pixel entweder als Zahl (z. B. 400) oder als Zeichenfolge mit der Endung „px“ (z. B. „400px“) angeben. Alternativ können Sie einen Prozentsatz der Größe des übergeordneten Elements angeben, und zwar mit einer Zeichenfolge, die auf „%“ endet (z. B. „100%“). Anmerkung: Um die Größe des Publisher-Videos anzupassen, ändern Sie das CSS des DOM-Elements des Publishers (das element Eigenschaft des Publisher-Objekts) oder (wenn die Breite als Prozentwert angegeben ist) dessen übergeordnetes DOM-Element (siehe Größe eines Videos ändern oder Position eines Videos anpassen). |
completionHandler |
Funktion | (Optional) Eine Funktion, die aufgerufen wird, wenn die Methode bei der Initialisierung eines Publisher-Objekts erfolgreich ist oder fehlschlägt. Diese Funktion nimmt einen Parameter entgegen — error. Bei Erfolg wird die error Das Objekt ist auf null. Bei einem Fehler wird die error Das Objekt hat zwei Eigenschaften: code (eine ganze Zahl) und message (eine Zeichenkette), die die Ursache des Fehlers angibt. Die Methode ist erfolgreich, wenn der Benutzer den Zugriff auf die Kamera und das Mikrofon gewährt. Die Methode schlägt fehl, wenn der Benutzer den Zugriff auf die Kamera und das Mikrofon verweigert. Die completionHandler Die Funktion wird aufgerufen, bevor der Publisher einen accessAllowed (Erfolgs-)Ereignis oder ein accessDenied (Fehler-)Ereignis. Der folgende Code fügt ein completionHandler beim Aufruf der OT.initPublisher() Methode: var publisher = OT.initPublisher('publisher', null, function (error) { if (error) { console.log(error); } else { console.log("Publisher initialized."); } }); |
Siehe: : - Session.publish()
Rückgabe:
Das Publisher-Objekt.
(static) initSession(apiKey, sessionId, options) → {Sitzung}
Initialisiert das lokale Sitzungsobjekt für eine angegebene Sitzungs-ID und gibt es zurück.
Sie stellen eine Verbindung zu einer Vonage Video API-Sitzung her, indem Sie die connect() Methode
des Session-Objekts, das von der OT.initSession() Methode.
Beachten Sie, dass der Aufruf von OT.initSession() stellt keine Verbindung
zur Cloud her. Es initialisiert lediglich das Session-Objekt, mit dem Sie eine
Verbindung herstellen (und nach dem Verbindungsaufbau weitere Vorgänge ausführen) können.
Beachten Sie, dass Sie pro Sitzungs-ID nur ein Session-Objekt initialisieren können. Der Aufruf von
OT.initSession() Ein zweiter Aufruf mit derselben Sitzungs-ID liefert das
zuvor erstellte Session-Objekt zurück. Sie können jedoch mehrere Session-Objekte
für verschiedene Sitzungen (mit unterschiedlichen Sitzungs-IDs) initialisieren, um eine Verbindung zu mehreren Sitzungen herzustellen.
Wenn der Client die Verbindung zur Sitzung trennt (und die Sitzung ein
sessionDisconnected Ereignis) können Sie das Session-Objekt wiederverwenden, um
die Verbindung zur Sitzung wiederherzustellen. Das Session-Objekt behält jedoch alle vorhandenen
Ereignisbehandler bei, die ihm zugeordnet sind. Sie können alle Ereignisbehandler entfernen, indem Sie die
off() Methode des Session-Objekts (ohne Übergabe von Parametern).
Ein Beispiel finden Sie unter Session.connect().
Parameter:
| Name | Typ | Beschreibung |
|---|---|---|
apiKey |
Zeichenfolge | Ihr Vonage Video API-Schlüssel (siehe Ihre Vonage Video API Account-Seite). |
sessionId |
Zeichenfolge | Die Sitzungs-ID, die die Vonage Video API-Sitzung identifiziert. Weitere Informationen finden Sie unter Erstellung einer Sitzung. |
options |
Objekt | Ein Objekt, das optionale Einstellungen zur Initialisierung der Sitzung enthält. Dieses Objekt verfügt über die folgenden Eigenschaften: - connectionEventsSuppressed — (Boolescher Wert) Setzen Sie diese Eigenschaft auf true um umfangreiche interaktive Videositzungen zu unterstützen. Dadurch wird verhindert, dass das Session-Objekt connectionCreated und connectionDestroyed Ereignisse, wenn andere Clients eine Verbindung zur Sitzung herstellen oder diese trennen. (Außerdem sendet der Vonage Video API-Server diese Ereignisse nicht an den Web-Client.) Weitere Informationen finden Sie unter Unterdrückung von Verbindungsereignissen in den Entwicklerhandbüchern zur Vonage Video API. - ipWhitelist — (Boolescher Wert) Dies ist als Add-on-Feature. Setze dies auf true sofern die IP-Whitelist-Funktion für Ihr Projekt aktiviert ist. Der Standardwert lautet false. - iceConfig — (Objekt) Dieses Objekt enthält die folgenden Eigenschaften: - includeServers (String) - Setzen Sie dies auf 'custom' und der Client wird ausschließlich die von Ihnen in der customServers Array. Setzen Sie dies auf 'all' (Standardeinstellung) und der Client nutzt sowohl die von Ihnen angegebenen benutzerdefinierten TURN-Server als auch die OpenTok-TURN-Server. - transportPolicy (String) - Setzen Sie dies auf 'all' (Standard) und der Client verwendet alle ICE-Transporttypen (wie z. B. „host“, „srflx“ und „TURN“), um die Medienverbindung herzustellen. Setzen Sie diese Option auf 'relay' um stets eine Verbindung über TURN zu erzwingen und alle anderen ICE-Kandidaten zu ignorieren. - customServers (Array) — Legen Sie hier ein Array von Objekten fest, die Ihre benutzerdefinierten TURN-Server definieren. Jedes Objekt entspricht einem benutzerdefinierten TURN-Server und enthält die folgenden Eigenschaften: urls — eine Zeichenkette oder ein Array von Zeichenketten, wobei jede Zeichenkette eine vom TURN-Server unterstützte URL ist (und es sich dabei auch nur um eine einzige URL handeln kann); username — der Benutzername (Zeichenkette) für den in diesem Objekt definierten TURN-Server; credential — die Anmeldezeichenfolge für den in diesem Objekt definierten TURN-Server. Diese Funktion ist Teil des konfigurierbaren TURN Add-on-Feature. Weitere Informationen und ein Codebeispiel finden Sie unter Konfigurierbare TURN-Server Entwicklerhandbuch. - encryptionSecret — (Zeichenkette) Dies ist der anfängliche Verschlüsselungsschlüssel, der von der End-to-End-Verschlüsselungsfunktion verwendet wird. Siehe Das Entwicklerhandbuch. - singlePeerConnection — (Boolescher Wert) Aktiviert die Einzelne Peer-Verbindung (SPC)-Funktion. Die Standardeinstellung ist false (SPC ist deaktiviert). - sessionMigration — (Boolescher Wert) Aktiviert die Funktion zur Sitzungsmigration, wodurch der Client während der Serverrotation verbunden bleiben kann. Der Standardwert ist false (Die Sitzungsmigration ist nicht aktiviert). Weitere Informationen finden Sie unter Server-Rotation und Sitzungsmigration. |
Rückgabe:
Das Sitzungsobjekt, über das alle weiteren Interaktionen mit der Sitzung stattfinden werden.
(static) log(message)
Sendet eine Zeichenfolge an die Debugger-Konsole. Die Funktion protokolliert jedoch nur dann in der Konsole,
wenn Sie die Protokollierungsstufe auf OT.LOG oder OT.DEBUG,
durch einen Anruf bei OT.setLogLevel(OT.LOG) oder OT.setLogLevel(OT.DEBUG).
Parameter:
| Name | Typ | Beschreibung |
|---|---|---|
message |
Zeichenfolge | Die Zeichenkette, die protokolliert werden soll. |
Siehe: : - OT.setLogLevel()
(static) off(type, handler, context)
Entfernt einen Ereignis-Handler.
Übergeben Sie einen Ereignisnamen und eine Handler-Methode; der Handler wird für dieses Ereignis entfernt:
OT.off("exceptionEvent", exceptionEventHandler);
Wenn Sie einen Ereignisnamen übergeben und nein Handler-Methode: Alle Handler für diese Ereignisse werden entfernt:
OT.off("exceptionEvent");
Die Methode unterstützt auch eine alternative Syntax, bei der der erste Parameter ein Objekt ist, das eine Hash-Map aus Ereignisnamen und Handler-Funktionen darstellt, und der zweite Parameter (optional) den Kontext für die Zuordnung der Handler angibt:
OT.off(
{
exceptionEvent: exceptionEventHandler
},
this
);
Parameter:
| Name | Typ | Beschreibung |
|---|---|---|
type |
Zeichenfolge | (Optional) Die Zeichenfolge, die den Ereignistyp angibt. Sie können ein Leerzeichen verwenden, um mehrere Ereignisse anzugeben, z. B. „eventName1 eventName2 eventName3“. Wenn Sie keine type Wert (oder andere Argumente) werden alle Ereignisbehandler für das Objekt entfernt. |
handler |
Funktion | (Optional) Die zu entfernende Ereignisbehandlungsfunktion. Wenn Sie keine handler, werden alle Ereignisbehandler für das angegebene Ereignis entfernt type. |
context |
Objekt | (Optional) Wenn Sie einen context, wird der Ereignis-Handler für alle angegebenen Ereignisse und Handler, die den angegebenen Kontext verwenden, entfernt. |
Siehe: : - on() - einmal() - Veranstaltungen
(static) on(type, handler, context)
Fügt eine Ereignisbehandlungsfunktion für ein oder mehrere Ereignisse hinzu.
Das OT-Objekt löst eine Art von Ereignis aus – ein exception Ereignis. Der folgende
Code fügt einen Ereignis-Listener
für das exception Veranstaltung:
OT.on("exception", function (event) {
// This is the event handler.
});
Sie können auch ein drittes Argument übergeben context Parameter (der optional ist), um den
Wert von
this in der Handler-Methode:
OT.on("exception",
function (event) {
// This is the event handler.
}),
session
);
Wenn Sie für ein Ereignis keinen Handler hinzufügen, wird das Ereignis lokal ignoriert.
Parameter:
| Name | Typ | Beschreibung |
|---|---|---|
type |
Zeichenfolge | Die Zeichenfolge, die die Art des Ereignisses angibt. |
handler |
Funktion | Die Handler-Funktion zur Verarbeitung des Ereignisses. Diese Funktion nimmt das Ereignisobjekt als Parameter entgegen. |
context |
Objekt | (Optional) Legt den Wert von this in der Ereignisbehandlungsfunktion. |
Siehe: : - off() - einmal() - Veranstaltungen
(static) once(type, handler, context)
Fügt eine Ereignisbehandlungsfunktion für ein Ereignis hinzu. Sobald der Handler aufgerufen wird, wird die angegebene Handler-Methode
als
Handler für dieses Ereignis entfernt. (Wenn Sie die OT.on() Methode zum Hinzufügen eines Ereignis-Handlers;
der Handler
ist nicht wird beim Aufruf entfernt.) Das OT.once() Die Methode entspricht dem
Aufruf der OT.on()
Methode und Aufruf OT.off() beim ersten Aufruf des Handlers.
Der folgende Code fügt einen einmaligen Ereignis-Handler für das exception Veranstaltung:
OT.once("exception", function (event) {
console.log(event);
}
Sie können auch ein drittes Argument übergeben context Parameter (der optional ist), um den
Wert von
this in der Handler-Methode:
OT.once("exception",
function (event) {
// This is the event handler.
},
session
);
Die Methode unterstützt außerdem eine alternative Syntax, bei der der erste Parameter ein Objekt ist, das eine Hash-Map aus Ereignisnamen und Handler-Funktionen darstellt, und der zweite Parameter (optional) den Kontext dafür in jedem Handler angibt:
OT.once(
{exeption: function (event) {
// This is the event handler.
}
},
session
);
Parameter:
| Name | Typ | Beschreibung |
|---|---|---|
type |
Zeichenfolge | Die Zeichenfolge, die den Ereignistyp angibt. In dieser Zeichenfolge können Sie mehrere Ereignisnamen angeben, die durch ein Leerzeichen voneinander getrennt sind. Der Ereignis-Handler verarbeitet das erste Auftreten der Ereignisse. Nach dem ersten Ereignis wird der Handler (für alle angegebenen Ereignisse) entfernt. |
handler |
Funktion | Die Handler-Funktion zur Verarbeitung des Ereignisses. Diese Funktion nimmt das Ereignisobjekt als Parameter entgegen. |
context |
Objekt | (Optional) Legt den Wert von this in der Ereignisbehandlungsfunktion. |
Siehe: : - on() - einmal() - Veranstaltungen
(static) registerScreenSharingExtension(kind, id, version)
Registrieren Sie eine Erweiterung für die Bildschirmfreigabe in einer älteren Version von Chrome oder Opera.
Anmerkung: In Chrome 72+ oder Opera 59+ ist keine Erweiterung für die Bildschirmfreigabe erforderlich. Der Endnutzer wird aufgefordert, den Zugriff auf den Bildschirm zu gewähren, genau wie bei der Erteilung des Zugriffs auf eine Kamera. Eine Erweiterung für die Bildschirmfreigabe benötigen Sie nur für ältere Versionen von Opera und Chrome.
Verwenden Sie die OT.checkScreenSharingCapability() Methode zur Überprüfung, ob eine Erweiterung
erforderlich, registriert und installiert ist.
Die Vonage Video API Erweiterungen für die Bildschirmfreigabe Das Repo enthält Code zur Erstellung einer Erweiterung für die Bildschirmfreigabe.
Parameter:
| Name | Typ | Beschreibung |
|---|---|---|
kind |
Zeichenfolge | Stellen Sie diesen Parameter auf "chrome". Derzeit können Sie eine Erweiterung für die Bildschirmfreigabe nur für ältere Versionen von Chrome und Opera registrieren. |
id |
Zeichenfolge | Die ID Ihrer Erweiterung für die Bildschirmfreigabe. Diese ID finden Sie unter chrome://extensions. |
version |
Numbers | Die Version der Erweiterung zur Bildschirmfreigabe von der Erweiterungen für die Bildschirmfreigabe repo. Legen Sie diesen Wert fest, wenn Sie Version 2 oder höher verwenden. Wenn Sie beispielsweise Version 2 verwenden, setzen Sie diesen Wert auf 2. Bei Version 2 kann der Client die Erweiterung unmittelbar nach der Installation nutzen, ohne die Seite neu laden zu müssen. |
Siehe: : - OT.initPublisher() - OT.checkScreenSharingCapability()
(static) removeEventListener(type, listener)
Diese Methode ist veraltet. Verwenden Sie stattdessen off() stattdessen.
Entfernt einen Ereignis-Listener für ein bestimmtes Ereignis.
Löst eine Ausnahme aus, wenn die listener Der Name ist ungültig.
Parameter:
| Name | Typ | Beschreibung |
|---|---|---|
type |
Zeichenfolge | Die Zeichenfolge, die die Art des Ereignisses angibt. |
listener |
Funktion | Die zu entfernende Ereignis-Listener-Funktion. |
Siehe: : - off()
(static) reportIssue(completionHandler) → {Promise.<string>}
Melde ein Problem, das bei deiner App aufgetreten ist. Du kannst die Problem-ID mit Inspektor oder wenn Sie ein Problem mit dem Vonage-API-Supportteam besprechen.
Parameter:
| Name | Typ | Beschreibung |
|---|---|---|
completionHandler |
Funktion | Optionale Funktion, die aufgerufen wird, wenn der Aufruf dieser Methode erfolgreich ist oder fehlschlägt. Diese Funktion hat zwei Parameter. Der erste Parameter ist ein Fehler Objekt, das beim Aufruf der reportIssue() Methode fehlschlägt (z. B. wenn der Client nicht mit dem Netz verbunden ist) oder null wenn der Aufruf der reportIssue() Die Methode wird erfolgreich ausgeführt. Der zweite Parameter wird bei erfolgreichem Aufruf auf die Berichts-ID (eine eindeutige Zeichenfolge) gesetzt. |
Rückgabe:
Ein Promise, das auf die Berichts-ID verweist
(static) setAudioOutputDevice() → {Promise}
Legt das neue Audioausgabegerät fest.
Die Methode gibt ein Promise zurück, das aufgelöst wird, sobald der Vorgang erfolgreich abgeschlossen ist. Tritt ein Fehler auf, wird das Promise abgelehnt.
Hinweis: Derzeit werden folgende Desktop-Versionen der Browser unterstützt: Chrome 49+, Firefox 116+, Edge 17+, Opera 36+, Safari 26+ sowie WebView unter iOS 26+.
Siehe: : - OT.getAudioOutputDevices() - OT.getActiveAudioOutputDevice()
Rückgabe:
Ein Promise, das erfüllt wird, wenn der Vorgang erfolgreich abgeschlossen wurde. Tritt ein Fehler auf, wird das Promise abgelehnt.
(static) setLogLevel(logLevel)
Legt die Protokollierungsstufe der API fest.
Aufruf von OT.setLogLevel() legt die Protokollierungsstufe für Laufzeit-Protokollmeldungen fest, die
von der Vonage Video API-Bibliothek generiert werden. Der Standardwert für die Protokollierungsstufe ist
OT.ERROR.
Die JavaScript-Bibliothek der Vonage Video API zeigt Protokollmeldungen in der Debugger-Konsole (z. B. Firebug) an, sofern eine solche vorhanden ist.
Im folgenden Beispiel wird die Sitzungs-ID durch Aufruf von OT.log().
Der Code protokolliert außerdem eine Fehlermeldung, wenn er versucht, einen Stream zu veröffentlichen, bevor Sie
eine Verbindung zur Sitzung hergestellt haben (durch Aufruf von Session.connect()).
OT.setLogLevel(OT.LOG);
session = OT.initSession(sessionId);
OT.log(sessionId);
publisher = OT.initPublisher("publishContainer");
session.publish(publisher);
Parameter:
| Name | Typ | Beschreibung |
|---|---|---|
logLevel |
Numbers | Der vom Entwickler gewünschte Umfang der Protokollierung: - OT.NONE — Die API-Protokollierung ist deaktiviert. - OT.ERROR — Es werden ausschließlich Fehler protokolliert. - OT.WARN — Protokollierung von Warnungen und Fehlern. - OT.INFO — Protokollierung weiterer nützlicher Informationen zusätzlich zu Warnungen und Fehlern. - OT.LOG — Protokollierung von OT.log() Meldungen, zusätzlich zu den Info-, Warn- und Fehlermeldungen der Vonage Video API. - OT.DEBUG — Detaillierte Protokollierung aller API-Aktionen sowie OT.log() Nachrichten. |
Siehe: : - OT.log()
(static) setProxyUrl()
Legt die URL des IP-Proxy-Servers fest. Mit der IP-Proxy-Funktion leitet der Client den gesamten Internetverkehr (mit Ausnahme von Medien-Streams) über Ihren Proxy-Server weiter.
Sie müssen diese Methode aufrufen, bevor Sie andere Methoden der Vonage Video API aufrufen.
Dadurch wird sichergestellt, dass der Proxy-Server für den Datenverkehr der Vonage Video API verwendet wird. Andernfalls
schlägt der Aufruf fehl, und die OT Das Objekt sendet ein
exception Veranstaltung. Die OT Das Objekt löst außerdem ein
exception Selbst wenn Sie diese Methode aufrufen, nachdem Sie
sie bereits zuvor aufgerufen haben.
Diese Funktion ist als Zusatzfunktion verfügbar. Weitere Informationen finden Sie unter Leitfaden für Entwickler von IP-Proxys.
(static) unblockAudio()
Bewirkt, dass die Audioinhalte von Abonnenten in Browsern wiedergegeben werden, in denen Audio blockiert ist.
Sie müssen diese Methode aufrufen, wenn ein HTML-Element
ein click Veranstaltung.
Sie müssen diese Methode nur aufrufen, wenn Sie die Anzeige
des Standard-Symbols für die Audiowiedergabe des Abonnenten deaktivieren (indem Sie die
style.audioBlockedDisplayMode Eigenschaft der
options Parameter des
Session.subscribe() Methode).
Sie können diese Methode aufrufen, wenn der Benutzer auf ein HTML-Element klickt,
das Sie auf der Seite anzeigen.
Der Abonnent versendet eine
audioBlocked Ereignis
, wenn Audio blockiert wird. Als Reaktion auf dieses Ereignis können Sie ein UI-Element anzeigen,
um den Endbenutzer darauf hinzuweisen, auf das Audio des Wiedergabe-Abonnenten zu reagieren.
Rufen Sie die OT.unblockAudio() Methode, die als Reaktion darauf ausgeführt wird, dass der Benutzer
auf ein DOM-Element klickt.
Anmerkung: Der Ton des Teilnehmers wird ebenfalls automatisch freigeschaltet, wenn
der lokale Client Zugriff auf die Kamera oder das Mikrofon erhält (beispielsweise
als Reaktion auf einen erfolgreichen Aufruf von OT.initPublisher()).
Siehe: : - Subscriber.isAudioBlocked() - Die audioBlocked und audioUnblocked Veranstaltungen für Abonnenten
Rückgabe:
Versprechen Das Versprechen wird erfüllt, wenn die Audiowiedergabe bei allen blockierten Abonnenten erfolgreich ist. Das Versprechen wird abgelehnt, wenn die Wiedergabe fehlschlägt. Siehe Fehler für Einzelheiten.
(static) upgradeSystemRequirements()
Zeigt Informationen zu den Systemanforderungen für die Vonage Video API für WebRTC an. Diese Informationen werden in einem iframe-Element angezeigt, das das Browserfenster ausfüllt.
Anmerkung: Diese Informationen werden automatisch angezeigt, wenn Sie die
OT.initSession() oder die OT.initPublisher() Methode
falls der Client die Vonage Video API für WebRTC nicht unterstützt.
Anmerkung: Diese Funktion wird in Zukunft nicht mehr unterstützt.
Siehe: : - OT.checkSystemRequirements()
Veranstaltungen
Ausnahme
Wird von der OT-Klasse ausgelöst, wenn in der App eine Ausnahme auftritt.
Beachten Sie, dass Sie einen Ereignis-Handler für die exception Ereignis durch Aufruf der
OT.on() Methode.
Siehe: : - Ausnahmeereignis