Das vom OT.initSession() Die Methode bietet Zugriff auf
einen Großteil der Funktionen der Vonage Video API.
Eigenschaften
| Name | Typ | Beschreibung |
|---|---|---|
capabilities |
Fähigkeiten | A Fähigkeiten Objekt, das Informationen über die Funktionen des Clients enthält. Alle Eigenschaften des capabilities Die Objekte sind undefiniert, bis Sie eine Verbindung zu einer Sitzung hergestellt haben und der Abschluss-Handler für das Session.connect() Die Methode wurde fehlerfrei aufgerufen. |
connection |
Verbindung | Die Verbindung Objekt für diese Sitzung. Die Eigenschaft „connection“ ist erst verfügbar, sobald der Abschluss-Handler für die Session.connect() Die Methode wurde erfolgreich aufgerufen. Siehe die Session.connect() Methode und die Verbindung Klasse. |
sessionId |
Zeichenfolge | Die Sitzungs-ID für diese Sitzung. Sie übergeben diesen Wert an die OT.initSession() Methode beim Erstellen des Session-Objekts. (Hinweis: Ein Session-Objekt ist erst dann mit dem Vonage Video API-Server verbunden, wenn Sie die Methode `connect()` des Objekts aufrufen und dessen Abschluss-Handler fehlerfrei ausgeführt wird. Siehe die OT.initSession() und die Session.connect() Methoden.) Weitere Informationen zu Sitzungen und Sitzungs-IDs finden Sie unter Erstellung einer Sitzung. |
Methoden
| Name | Beschreibung |
|---|---|
addEventListener(type, listener, context) |
Veraltet. |
connect(token, completionHandler) |
Stellt eine Verbindung zu einer Vonage Video API-Sitzung her. |
disableForceMute() → {Promise} |
Hebt den aktiven Stummschaltstatus der Sitzung auf. |
disconnect() → {Promise.<void>} |
Beendet die Verbindung zur Vonage Video API-Sitzung. |
forceDisconnect(connection, completionHandler) → {Promise.<void>} |
Erzwingt eine Remote-Verbindung, um die Sitzung zu beenden. |
forceMuteAll(excludedStreams) → {Promise} |
Zwingt alle Sender in der Sitzung (mit Ausnahme derjenigen, die ausgeschlossene Streams übertragen), den Ton stummzuschalten. |
forceMuteStream(stream) → {Promise} |
Zwingt den Anbieter eines bestimmten Streams dazu, dessen Ton stummzuschalten. |
forceUnpublish(stream, completionHandler) → {Promise.<void>} |
Zwingt den Herausgeber des angegebenen Streams dazu, die Veröffentlichung des Streams zu beenden. |
getPublisherForStream(stream) → {Publisher} |
Gibt das lokale Publisher-Objekt für einen bestimmten Stream zurück. |
getSubscribersForStream(stream) → {Array} |
Gibt ein Array lokaler Subscriber-Objekte für einen bestimmten Stream zurück. |
off(type, handler, context) → {Object} |
Entfernt einen oder mehrere Ereignis-Handler. |
on(type, handler, context) → {EventDispatcher} |
Fügt eine Ereignisbehandlungsfunktion für ein oder mehrere Ereignisse hinzu. |
once(type, handler, context) → {Object} |
Fügt eine Ereignisbehandlungsfunktion für ein oder mehrere Ereignisse hinzu. |
publish(publisher, completionHandler) |
Die publish() Die Methode beginnt mit der Übertragung eines Audio-Video-Streams an die Sitzung. |
removeEventListener(type, listener, context) |
Veraltet. |
setEncryptionSecret(secret) → {Promise} |
Legt den Verschlüsselungsschlüssel für eine Sitzung fest, bei der die End-to-End-Verschlüsselung aktiviert ist. |
setIceConfig(newIceConfig) |
Legt die ICE-Konfiguration für alle Verbindungen in einer Sitzung fest. |
signal(signal, completionHandler) → {Promise.<void>} |
Sendet ein Signal an jeden Client oder an einen bestimmten Client in der Sitzung. |
subscribe(stream, targetElement, properties, completionHandler) → {Subscriber} |
Abonniert einen Stream, der für die Sitzung verfügbar ist. |
unpublish(publisher) |
Beendet die Übertragung des Audio-Video-Streams des angegebenen Senders an die Sitzung. |
unsubscribe(subscriber) |
Beendet das Abonnieren eines Streams in der Sitzung. |
addEventListener(Typ, Listener, Kontext)
Parameter:
| Name | Typ | Beschreibung |
|---|---|---|
type |
Zeichenfolge | Die Zeichenfolge, die die Art des Ereignisses angibt. |
listener |
Funktion | Die Funktion, die aufgerufen werden soll, wenn das Objekt das Ereignis auslöst. |
context |
Objekt | (Optional) Legt den Wert von this in der Ereignisbehandlungsfunktion. |
Abgelehnt — Verwendung on() oder einmal() stattdessen.
Mit dieser Methode wird eine Methode als Ereignisbehandler für ein bestimmtes Ereignis registriert.
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.
Siehe: : - on() - einmal() - Veranstaltungen
connect(token, completionHandler)
Stellt eine Verbindung zu einer Vonage Video API-Sitzung her.
Bei erfolgreicher Verbindung wird der Abschluss-Handler (der zweite Parameter der Methode) aufgerufen, ohne dass ein Fehlerobjekt übergeben wird. (Tritt beim Herstellen der Verbindung ein Fehler auf, wird der Abschluss-Handler mit einem Fehlerobjekt aufgerufen.) Vergewissern Sie sich, dass die Verbindung zur Sitzung erfolgreich hergestellt wurde, bevor Sie andere Methoden des Session-Objekts aufrufen.
Das Session-Objekt sendet eine connectionCreated Ereignis, wenn ein beliebiger Client
(einschließlich Ihres eigenen) eine Verbindung zur Sitzung herstellt.
Beispiel
Der folgende Code initialisiert eine Sitzung und richtet einen Ereignis-Listener für den Fall ein, dass die Sitzung eine Verbindung herstellt:
var apiKey = ""; // Replace with your API key. See https://tokbox.com/account
var sessionID = ""; // Replace with your own session ID.
// See https://tokbox.com/developer/guides/create-session/.
var token = ""; // Replace with a generated token.
// See https://tokbox.com/developer/guides/create-token/.
var session = OT.initSession(apiKey, sessionID);
session.connect(token, function(error) {
if (error) {
console.log(error.message);
} else {
// You have connected to the session. You could publish a stream now.
}
});
Ausgelöste Ereignisse:
exception (Ausnahmeereignis) — Wird
im Falle eines Fehlers von der örtlichen OT-Klasse gesendet.
connectionCreated (Verbindungsereignis) —
Wird vom Session-Objekt an alle mit der Sitzung verbundenen Clients gesendet.
sessionConnected (SessionConnectEvent)
— Wird lokal vom Session-Objekt aufgerufen, sobald die Verbindung hergestellt ist. Sie
können jedoch eine Abschluss-Handler-Funktion als zweiten Parameter der
connect() und diese Funktion anstelle eines Listeners für die
sessionConnected Veranstaltung.
Parameter:
| Name | Typ | Beschreibung |
|---|---|---|
token |
Zeichenfolge | Das Sitzungs-Token. Sie generieren ein Sitzungs-Token mithilfe unserer serverseitige Bibliotheken oder bei Ihnen Vonage Video API-Konto Seite. Weitere Informationen finden Sie unter Erstellung eines Verbindungstokens. |
completionHandler |
Funktion | (Optional) Eine Funktion, die aufgerufen werden soll, wenn der Aufruf der connect() ob die Methode erfolgreich ist oder fehlschlägt. Diese Funktion nimmt einen Parameter entgegen — error (siehe die Fehler Objekt). Bei Erfolg wird die completionHandler Der Funktion werden keine Argumente übergeben. Im Fehlerfall wird der Funktion ein error Objektparameter (siehe den Fehler Objekt). Das error Das Objekt hat zwei Eigenschaften: code (eine ganze Zahl) und message (eine Zeichenkette), die die Ursache des Fehlers angibt. Der folgende Code fügt eine completionHandler beim Aufruf der connect() Methode: session.connect(token, function (error) { if (error) { console.log(error.message); } else { console.log("Connected to session."); } }); Beachten Sie, dass das Session-Objekt beim Herstellen einer Verbindung zur Sitzung eine sessionConnected Ereignis zusätzlich zum Aufruf der completionHandler. Das SessionConnectEvent-Objekt, das die sessionConnected Veranstaltung, umfasst connections und streams Eigenschaften, in denen die Verbindungen und Streams der Sitzung angezeigt werden, sobald Sie eine Verbindung herstellen. |
Siehe: : - SessionConnectEvent
disableForceMute() → {Promise}
Hebt den aktiven Stummschaltungsstatus der Sitzung auf. Nachdem Sie diese Methode aufgerufen haben, wird bei neuen Streams, die in der Sitzung veröffentlicht werden, der Ton nicht mehr stummgeschaltet.
Nachdem Sie den Anruf an die Session.forceMuteAll() Methode (oder ein Moderator in einem anderen
Client löst einen Aufruf aus, um alle Streams stummzuschalten), werden alle Streams, die nach dem Moderationsaufruf veröffentlicht werden,
mit stummgeschaltetem Ton veröffentlicht. Rufen Sie die disableForceMute() Methode zum Aufheben
des Stummschaltzustands einer Sitzung (damit neu veröffentlichte Streams nicht automatisch stummgeschaltet werden).
Der Aufruf dieser Methode bewirkt, dass das Session-Objekt in jedem verbundenen Client eine
muteForced Ereignis, mit dem active Flag auf false.
Prüfen Sie die capabilities.canForceMute Eigenschaft des Session-Objekts, um zu prüfen, ob
Sie diese Funktion erfolgreich aufrufen können. Diese ist für Clients reserviert, die sich
mit einem Token verbunden haben, dem die Moderatorenrolle zugewiesen wurde (siehe die
Token-Erstellung
(Dokumentation).
Siehe: : - Session.capabilities - Session.forceMuteAll() - Ereignis „muteForced“
Rückgabe:
Ein Promise, das bei erfolgreicher Ausführung der Operation
keinen Wert zurückgibt. Bei einem Fehler wird das Promise abgelehnt. Das
name Die Eigenschaft des Error-Objekts wird je nach Fehlertyp auf einen der folgenden
Werte gesetzt:
'OT_NOT_CONNECTED'— Der Client ist nicht mit der Sitzung verbunden.'OT_PERMISSION_DENIED'— Die Rolle des Benutzers umfasst keine Berechtigungen, die erforderlich sind, um andere Benutzer stummzuschalten. Sie legen die Rolle eines Benutzers fest, wenn Sie das Benutzer-Token erstellen (siehe Übersicht über die Token-Erstellung). Sie übergeben die Token-Zeichenkette als Parameter derconnect()Methode des Session-Objekts .'OT_UNEXPECTED_SERVER_RESPONSE'— Im Falle eines internen Serverfehlers.
disconnect() → {Promise.<void>}
Beendet die Verbindung zur Vonage Video API-Sitzung.
Aufrufen der disconnect() Diese Methode beendet Ihre Verbindung zur Sitzung. Im
Zug der Beendigung Ihrer Verbindung wird auch die Veröffentlichung aller Streams eingestellt, die Sie
veröffentlicht haben.
Session-Objekte auf Remote-Clients werden weitergeleitet streamDestroyed Ereignisse für jeden
Stream, den Sie veröffentlicht haben. Das Session-Objekt löst ein sessionDisconnected
Ereignis lokal. Die Session-Objekte auf den Remote-Clients leiten connectionDestroyed
Ereignisse, durch die andere Teilnehmer darüber informiert werden, dass Sie die Sitzung verlassen haben. Die
SessionDisconnectEvent und StreamEvent Objekte, die die
sessionDisconnect und connectionDestroyed Jedes Ereignis hat ein
reason Eigenschaft. Die reason Anhand dieser Eigenschaft kann der Entwickler feststellen,
ob die Verbindung freiwillig beendet wird und ob dabei Streams
als Nebenwirkung der freiwilligen Beendigung der zugrunde liegenden Verbindung zerstört werden.
Wenn derzeit keine Verbindung zur Sitzung besteht, wird beim Aufruf dieser Methode eine Warnung protokolliert. Siehe OT.setLogLevel().
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.
Ausgelöste Ereignisse:
sessionDisconnected
(SessionDisconnectEvent)
— Wird lokal ausgelöst, wenn die Verbindung unterbrochen wird.
connectionDestroyed (Verbindungsereignis) —
Auf anderen Clients versendet, zusammen mit dem streamDestroyed Veranstaltung (sofern erforderlich).
streamDestroyed (StreamEvent) —
Wird an andere Clients gesendet, wenn Streams aufgrund einer Unterbrechung der Sitzung verloren gehen.
Rückgabe:
Ein Promise, das aufgelöst wird, sobald das Ereignis „sessionDisconnected“ ausgelöst wird
forceDisconnect(Verbindung, Abschlusshandler) → {Promise.<void>}
Erzwingt eine Remote-Verbindung, um die Sitzung zu beenden.
Die forceDisconnect() Diese Methode wird in der Regel als Moderationsinstrument eingesetzt,
um Nutzer aus einer laufenden Sitzung zu entfernen.
Wenn eine Verbindung mithilfe des forceDisconnect(),
sessionDisconnected, connectionDestroyed und
streamDestroyed Ereignisse werden auf dieselbe Weise ausgelöst, wie dies
der Fall wäre, wenn die Verbindung mithilfe der disconnect()
Methode. Allerdings ist die reason Eigenschaft einer Verbindungsereignis oder
StreamEvent Das Objekt legt fest, "forceDisconnected" als Grund
für die Unterbrechung der Verbindung und des/der Streams.
Sie können zwar die forceDisconnect() Methode zum Beenden der eigenen Verbindung,
durch Aufruf der disconnect() Diese Methode ist einfacher.
Das OT-Objekt löst ein exception selbst wenn die Rolle des Benutzers
nicht über die erforderlichen Berechtigungen verfügt, um andere Benutzer zur Trennung der Verbindung zu zwingen.
Sie legen die Rolle eines Benutzers fest, wenn Sie das Benutzer-Token erstellen (siehe
Übersicht über die Token-Erstellung).
Siehe Ausnahmeereignis und OT.on().
The application gives a error message if no connection is established with the session.
Ausgelöste Ereignisse:
connectionDestroyed (Verbindungsereignis) —
Auf anderen Clients als denen, bei denen die Verbindung beendet wurde.
exception (Ausnahmeereignis) —
Die Rolle des Benutzers erlaubt es nicht, andere Benutzer zur Trennung der Verbindung zu zwingen (event.code = 1530),
oder der angegebene Stream veröffentlicht keine Daten an die Sitzung (event.code = 1535).
sessionDisconnected
(SessionDisconnectEvent) —
Auf dem Client, dessen Verbindung beendet wurde.
streamDestroyed (StreamEvent) —
Wenn Streams aufgrund einer unterbrochenen Verbindung gestoppt werden.
Parameter:
| Name | Typ | Beschreibung |
|---|---|---|
connection |
Verbindung | Die Verbindung, die von der Sitzung getrennt werden soll. Dieser Wert kann entweder ein Verbindung Objekt oder eine Verbindungs-ID (die aus der connectionId Eigenschaft des Connection-Objekts). |
completionHandler |
Funktion | (Optional) Eine Funktion, die aufgerufen werden soll, wenn der Aufruf der forceDiscononnect() ob die Methode erfolgreich ist oder fehlschlägt. Diese Funktion nimmt einen Parameter entgegen — error. Bei Erfolg wird die completionHandler Der Funktion werden keine Argumente übergeben. Im Fehlerfall wird der Funktion ein error Objektparameter. Der error Objekt, definiert durch das Fehler Die Klasse verfügt über zwei Eigenschaften: code (eine ganze Zahl) und message (eine Zeichenkette), die die Ursache des Fehlers angibt. Der Aufruf von forceDisconnect() schlägt fehl, wenn die Ihrem Token zugewiesene Rolle nicht „Moderator“ lautet; in diesem Fall wird die error.name Eigenschaft wird auf "OT_PERMISSION_DENIED". Der folgende Code fügt ein completionHandler beim Aufruf der forceDisconnect() Methode: session.forceDisconnect(connection, function (error) { if (error) { console.log(error); } else { console.log("Connection forced to disconnect: " + connection.id); } }); |
Rückgabe:
Ein Promise, das bei einer Unterbrechung der Verbindung aufgelöst wird
forceMuteAll(excludedStreams) → {Promise}
Zwingt alle Sender in der Sitzung (mit Ausnahme derjenigen, die ausgeschlossene Streams übertragen) dazu, den Ton stummzuschalten.
Ein vom Moderator veröffentlichter Stream, der die forceMuteAll() Die Methode wird
zusammen mit anderen Streams in der Sitzung stummgeschaltet, es sei denn, Sie fügen den Stream (oder die Streams) des Moderators zum
Array der ausgeschlossenen Streams hinzu.
Wenn Sie die excludedStreams Parameter: Alle Streams in der Sitzung
(einschließlich derjenigen des Moderators) stellen die Audioübertragung ein:
session.forceMuteAll();
Außerdem werden alle Streams, die nach dem Aufruf der forceMuteAll() Methode
werden mit stummgeschaltetem Ton veröffentlicht. Sie können den Stummschaltstatus einer Sitzung aufheben, indem Sie die
disableForceMute() Methode des Session-Objekts.
session.disableForceMute();
Nachdem Sie die Session.disableForceMute() Mit dieser Methode wird die Stummschaltung bei neuen Streams,
die in der Sitzung veröffentlicht werden, aufgehoben.
Der Aufruf dieser Methode bewirkt, dass die Publisher-Objekte in den Clients, die
die Streams veröffentlichen, folgende Aktionen auslösen muteForced Ereignisse. Außerdem löst das Session-Objekt
in jedem mit der Sitzung verbundenen Client das muteForced
Veranstaltung (mit dem active Eigenschaft des Ereignisobjekts, die auf true).
Prüfen Sie die capabilities.canForceMute Eigenschaft des Session-Objekts, um zu prüfen, ob
Sie diese Funktion erfolgreich aufrufen können. Diese ist für Clients reserviert, die sich
mit einem Token verbunden haben, dem die Moderatorenrolle zugewiesen wurde (siehe die
Token-Erstellung
(Dokumentation).
Parameter:
| Name | Typ | Beschreibung |
|---|---|---|
excludedStreams |
Array | Ein Array von Stream-Objekten, die von der Stummschaltung ausgenommen werden sollen. Beachten Sie: Wenn Sie verhindern möchten, dass die vom lokalen Client veröffentlichten Streams stummgeschaltet werden, fügen Sie die Stream-Objekte für diese Streams in dieses Array ein. |
Siehe: : - Session.capabilities - Session.forceMuteStream() - Session.disableForceMute() - Ereignis „muteForced“ der Sitzung - Verlag „muteForced“-Ereignis - Stummschalten des Tons von Streams in einer Sitzung
Rückgabe:
Ein Promise, das bei erfolgreicher Ausführung der Operation
keinen Wert zurückgibt. Bei einem Fehler wird das Promise abgelehnt. Das
name Die Eigenschaft des Error-Objekts wird je nach Fehlertyp auf einen der folgenden
Werte gesetzt:
'OT_NOT_CONNECTED'— Der Client ist nicht mit der Sitzung verbunden.'INVALID_PARAMETER'— wenn einer oder mehrere der übergebenen Parameter ungültig sind.'OT_PERMISSION_DENIED'— Die Rolle des Benutzers umfasst keine Berechtigungen, die erforderlich sind, um andere Benutzer stummzuschalten. Sie legen die Rolle eines Benutzers fest, wenn Sie das Benutzer-Token erstellen (siehe Übersicht über die Token-Erstellung). Sie übergeben die Token-Zeichenkette als Parameter derconnect()Methode des Session-Objekts .'OT_UNEXPECTED_SERVER_RESPONSE'— im Falle eines internen Serverfehlers.
forceMuteStream(stream) → {Promise}
Zwingt den Anbieter eines bestimmten Streams dazu, dessen Ton stummzuschalten.
Der Aufruf dieser Methode bewirkt, dass das Publisher-Objekt auf dem Client, der den
Stream veröffentlicht, einen muteForced Veranstaltung.
Prüfen Sie die capabilities.canForceMute Eigenschaft des Session-Objekts, um zu prüfen, ob
Sie diese Funktion erfolgreich aufrufen können. Diese ist für Clients reserviert, die sich
mit einem Token verbunden haben, dem die Moderatorenrolle zugewiesen wurde (siehe die
Token-Erstellung
(Dokumentation).
Parameter:
| Name | Typ | Beschreibung |
|---|---|---|
stream |
Stream | Der Stream, der stummgeschaltet werden soll. |
Siehe: : - Session.capabilities - Session.forceMuteAll() - Verlag „muteForced“-Ereignis - Stummschalten des Tons von Streams in einer Sitzung
Rückgabe:
Ein Promise, das bei erfolgreicher Ausführung der Operation
keinen Wert zurückgibt. Bei einem Fehler wird das Promise abgelehnt. Das
name Die Eigenschaft des Error-Objekts wird je nach Fehlertyp auf einen der folgenden
Werte gesetzt:
'OT_NOT_CONNECTED'— Der Client ist nicht mit der Sitzung verbunden.'OT_INVALID_PARAMETER'— wenn einer oder mehrere der übergebenen Parameter ungültig sind.'OT_PERMISSION_DENIED'— Die Rolle des Benutzers umfasst keine Berechtigungen, die erforderlich sind, um andere Benutzer stummzuschalten. Sie legen die Rolle eines Benutzers fest, wenn Sie das Benutzer-Token erstellen (siehe Übersicht über die Token-Erstellung). Sie übergeben die Token-Zeichenkette als Parameter derconnect()Methode des Session-Objekts .'OT_NOT_FOUND'— Der Stream wurde in dieser Sitzung nicht gefunden.'OT_UNEXPECTED_SERVER_RESPONSE'— Im Falle eines internen Serverfehlers.
forceUnpublish(stream, completionHandler) → {Promise.<void>}
Zwingt den Herausgeber des angegebenen Streams dazu, die Veröffentlichung des Streams zu beenden.
Durch den Aufruf dieser Methode löst das Session-Objekt eine streamDestroyed
Ereignis auf allen Clients, die den Stream abonniert haben (einschließlich des Clients, der
den Stream veröffentlicht). Das reason Die Eigenschaft des StreamEvent-Objekts wird
auf "forceUnpublished".
Das OT-Objekt löst ein exception selbst wenn die Rolle des Benutzers
nicht über die erforderlichen Berechtigungen verfügt, um andere Benutzer zur Aufhebung der Veröffentlichung zu zwingen.
Sie legen die Rolle eines Benutzers fest, wenn Sie das Benutzer-Token erstellen (siehe
Übersicht über die Token-Erstellung).
Sie übergeben die Token-Zeichenkette als Parameter der connect() Methode des Session-Objekts
. Siehe Ausnahmeereignis und
OT.on().
Ausgelöste Ereignisse:
exception (Ausnahmeereignis) —
Die Rolle des Benutzers erlaubt es nicht, andere Benutzer zur Rücknahme einer Veröffentlichung zu zwingen.
streamDestroyed (StreamEvent) —
Der Stream wurde deaktiviert. Das Session-Objekt leitet diese Meldung an alle Clients weiter,
die den Stream abonniert haben, sowie an den Client des Publishers.
Parameter:
| Name | Typ | Beschreibung |
|---|---|---|
stream |
Stream | Der Stream soll aus dem Verzeichnis entfernt werden. |
completionHandler |
Funktion | (Optional) Eine Funktion, die aufgerufen werden soll, wenn der Aufruf der forceUnpublish() ob die Methode erfolgreich ist oder fehlschlägt. Diese Funktion nimmt einen Parameter entgegen — error. Bei Erfolg wird die completionHandler Der Funktion werden keine Argumente übergeben. Im Fehlerfall wird der Funktion ein error Objektparameter. Der error Objekt, definiert durch das Fehler Die Klasse verfügt über zwei Eigenschaften: code (eine ganze Zahl) und message (eine Zeichenkette), die die Ursache des Fehlers angibt. Der Aufruf von forceUnpublish() schlägt fehl, wenn die Ihrem Token zugewiesene Rolle nicht „Moderator“ lautet; in diesem Fall wird die error.name Eigenschaft wird auf "OT_PERMISSION_DENIED". Der folgende Code fügt beim Aufruf der Funktion forceUnpublish() Methode: session.forceUnpublish(stream, function (error) { if (error) { console.log(error); } else { console.log("Connection forced to disconnect: " + connection.id); } }); |
Rückgabe:
Ein Promise, das bei der Rücknahme der Veröffentlichung aufgelöst wird
getPublisherForStream(stream) → {Herausgeber}
Gibt das lokale Publisher-Objekt für einen bestimmten Stream zurück.
Parameter:
| Name | Typ | Beschreibung |
|---|---|---|
stream |
Stream | Der Stream, für den Sie den Herausgeber ermitteln möchten. |
Siehe: : - forceUnpublish() - Abonnent - StreamEvent
Rückgabe:
Ein Publisher-Objekt für den angegebenen Stream. Gibt Folgendes zurück:
null wenn kein lokales Publisher-Objekt
für den angegebenen Stream vorhanden ist.
getSubscribersForStream(stream) → {Array}
Gibt ein Array lokaler Subscriber-Objekte für einen bestimmten Stream zurück.
Parameter:
| Name | Typ | Beschreibung |
|---|---|---|
stream |
Stream | Der Stream, für den Sie Abonnenten suchen möchten. |
Siehe: : - unsubscribe() - Abonnent - StreamEvent
Rückgabe:
Eine Reihe von Abonnent Objekte für den angegebenen Stream.
off(Typ, Handler, Kontext) → {Object}
Entfernt einen oder mehrere Ereignis-Handler.
Wenn Sie einen Ereignisnamen und eine Handler-Methode übergeben, wird der Handler für dieses Ereignis entfernt:
obj.off("eventName", eventHandler);
Wenn Sie mehrere Ereignisnamen und eine Handler-Methode übergeben, wird der Handler für diese Ereignisse entfernt:
obj.off("eventName1 eventName2", eventHandler);
Wenn Sie einen Ereignisnamen (oder mehrere) übergeben und nein Handler-Methode werden alle Handler für diese Ereignisse entfernt:
obj.off("event1Name event2Name");
Wenn Sie keine Argumente übergeben, alle Ereignisbehandler werden für alle Ereignisse entfernt, die von dem Objekt ausgelöst werden:
obj.off();
Die Methode unterstützt auch eine alternative Syntax, bei der der erste Parameter ein Objekt ist, das aus einer Hash-Map mit Ereignisnamen und Handler-Funktionen besteht, und der zweite Parameter (optional) den Kontext für diesen in jedem Handler darstellt:
obj.off(
{
eventName1: event1Handler,
eventName2: event2Handler
});
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. „accessAllowed accessDenied accessDialogClosed“. Wenn Sie keine type Wert (oder andere Argumente) werden alle Ereignisbehandler für das Objekt entfernt. |
handler |
Funktion | (Optional) Die zu entfernende Ereignisbehandlungsfunktion. Der Handler muss dasselbe Funktionsobjekt sein, das an on(). Seien Sie vorsichtig mit Hilfsfunktionen wie bind() die beim Aufruf eine neue Funktion zurückgeben. 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 entfernt, die den angegebenen Kontext verwenden. (Der Kontext muss mit dem Kontext übereinstimmen, der an on().) |
Siehe: : - on() - einmal() - Veranstaltungen
Rückgabe:
Das Objekt, das das Ereignis ausgelöst hat.
on(Typ, Handler, Kontext) → {EventDispatcher}
Fügt eine Ereignisbehandlungsfunktion für ein oder mehrere Ereignisse hinzu.
Der folgende Code fügt einen Ereignis-Handler für ein Ereignis hinzu:
obj.on("eventName", function (event) {
// This is the event handler.
});
Wenn Sie mehrere Ereignisnamen und eine Handler-Methode übergeben, wird der Handler für jedes dieser Ereignisse registriert:
obj.on("eventName1 eventName2",
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:
obj.on("eventName",
function (event) {
// This is the event handler.
},
obj);
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 diesen in jedem Handler darstellt:
obj.on(
{
eventName1: function (event) {
// This is the handler for eventName1.
},
eventName2: function (event) {
// This is the handler for eventName2.
}
},
obj);
Wenn Sie für ein Ereignis keinen Handler hinzufügen, wird das Ereignis lokal ignoriert.
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 jedes dieser Ereignisse. |
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
Rückgabe:
Das EventDispatcher-Objekt.
once(Typ, Handler, Kontext) → {Object}
Fügt eine Ereignisbehandlungsfunktion für ein oder mehrere Ereignisse hinzu. Sobald der Handler aufgerufen wird,
wird die angegebene Handler-Methode als Handler für dieses Ereignis entfernt. (Wenn Sie
die on() Methode zum Hinzufügen eines Ereignis-Handlers; der Handler lautet nicht
wird beim Aufruf entfernt.) Das once() Die Methode entspricht dem
Aufruf der on()
Methode und Aufruf off() beim ersten Aufruf des Handlers.
Der folgende Code fügt einen einmaligen Ereignis-Handler für ein Ereignis hinzu:
obj.once("eventName", function (event) {
// This is the event handler.
});
Wenn Sie mehrere Ereignisnamen und eine Handler-Methode übergeben, wird der Handler für jedes dieser Ereignisse registriert:
obj.once("eventName1 eventName2"
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:
obj.once("eventName",
function (event) {
// This is the event handler.
},
obj);
Die Methode unterstützt außerdem eine alternative Syntax, bei der der erste Parameter ein Objekt ist, das aus einer Hash-Map mit Ereignisnamen und Handler-Funktionen besteht, und der zweite Parameter (optional) den Kontext für diesen Parameter in jedem Handler darstellt:
obj.once(
{
eventName1: function (event) {
// This is the event handler for eventName1.
},
eventName2: function (event) {
// This is the event handler for eventName1.
}
},
obj);
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() - off() - Veranstaltungen
Rückgabe:
Das Objekt, das das Ereignis ausgelöst hat.
publish(publisher, completionHandler)
Die publish() Die Methode beginnt mit der Übertragung eines Audio-Video-Streams an die Sitzung.
Der Audio-Video-Stream wird von einem lokalen Mikrofon und einer Webcam erfasst. Nach erfolgreicher
Übertragung lösen die Session-Objekte auf allen verbundenen Clients die
streamCreated Veranstaltung.
Als einzigen Parameter der Methode übergeben Sie ein Publisher-Objekt. Sie können ein
Publisher-Objekt initialisieren, indem Sie die OT.initPublisher()
Methode. Vor dem Aufruf von Session.publish().
Diese Methode hat eine alternative Form: publish(targetElement: String | HTMLElement, properties: Object, completionHandler: Function): Publisher — In dieser Form machst du
nicht ein Publisher-Objekt an die Funktion übergeben. Stattdessen übergeben Sie ein targetElement
(das Ziel-HTML-Element oder die ID des Ziel-HTML-Elements für den Publisher), ein optionales
properties Objekt, das Optionen für den Publisher definiert (siehe
OT.initPublisher()) sowie eine optionale Abschluss-Handler-Funktion.
Die Methode gibt ein neues Publisher-Objekt zurück, das mit der Übertragung eines Audio-Video-Streams an die
Sitzung beginnt. Im weiteren Verlauf dieser Dokumentation wird die Form beschrieben, die ein einzelnes Publisher-Objekt
als Parameter entgegennimmt.
Auf der Webseite wird eine lokale Anzeige des veröffentlichten Streams erstellt, indem das angegebene Element im DOM durch eine Streaming-Videoanzeige ersetzt wird. Der Videostream wird automatisch horizontal gespiegelt, sodass Nutzer sich selbst und die Bewegungen in ihrem Stream auf natürliche Weise sehen können. Wenn Breite und Höhe der Anzeige nicht dem Seitenverhältnis 4:3 des Videosignals entsprechen, wird der Videostream so zugeschnitten, dass er in die Anzeige passt.
Wenn durch den Aufruf dieser Methode ein neues Publisher-Objekt erstellt wird und die Vonage Video API-Bibliothek keinen Zugriff auf die Kamera oder das Mikrofon hat, fordert die Webseite den Benutzer auf, den Zugriff auf die Kamera und das Mikrofon zu gewähren.
Das OT-Objekt löst ein exception selbst wenn die Rolle des Benutzers nicht
die für die Veröffentlichung erforderlichen Berechtigungen umfasst. Ist die Rolle des Benutzers beispielsweise auf „Abonnent“ festgelegt,
kann er keine Beiträge veröffentlichen. Die Rolle eines Benutzers legen Sie beim Erstellen des Benutzer-Tokens fest
(siehe Übersicht über die Token-Erstellung).
Sie übergeben die Token-Zeichenkette als Parameter der connect() Methode des Session-Objekts
. Siehe Ausnahmeereignis und
OT.on().
The application gives a error message if no connection is established with the session.
Ausgelöste Ereignisse:
exception (Ausnahmeereignis) — Ausgelöst
durch das OT-Objekt. Dies kann vorkommen, wenn die Rolle des Benutzers keine Veröffentlichung zulässt (die
code Eigenschaft des Ereignisobjekts auf 1500 gesetzt ist); dies kann auch auftreten, wenn die
Verbindung nicht hergestellt werden kann (die code Die Eigenschaft des Ereignisobjekts ist auf 1013 gesetzt).
WebRTC ist ein Peer-to-Peer-Protokoll, und es kann vorkommen, dass Verbindungen nicht hergestellt werden können.
Die häufigste Ursache für einen Verbindungsfehler ist eine Firewall, die das Protokoll nicht durchdringen kann.
streamCreated (StreamEvent) —
Der Stream wurde veröffentlicht. Das Session-Objekt leitet dies an alle Clients weiter,
die den Stream abonniert haben, sowie an den Client des Publishers.
Beispiel
Im folgenden Beispiel wird ein Video veröffentlicht, sobald die Sitzung hergestellt ist:
var apiKey = ""; // Replace with your API key. See https://tokbox.com/account
var sessionId = ""; // Replace with your own session ID.
// /developer/guides/create-session/.
var token = ""; // Replace with a generated token that has been assigned the publish role.
// See https://tokbox.com/developer/guides/create-token/.
var session = OT.initSession(apiKey, sessionID);
session.connect(token, function(error) {
if (error) {
console.log(error.message);
} else {
var publisherOptions = {width: 400, height:300, name:"Bob's stream"};
// This assumes that there is a DOM element with the ID 'publisher':
publisher = OT.initPublisher('publisher', publisherOptions);
session.publish(publisher);
}
});
Parameter:
| Name | Typ | Beschreibung |
|---|---|---|
publisher |
Herausgeber | Ein Publisher-Objekt, das Sie durch Aufruf der Methode OT.initPublisher() Methode. |
completionHandler |
Funktion | (Optional) Eine Funktion, die aufgerufen werden soll, wenn der Aufruf der publish() ob die Methode erfolgreich ist oder fehlschlägt. Diese Funktion nimmt einen Parameter entgegen — error. Bei Erfolg wird die completionHandler Der Funktion werden keine Argumente übergeben. Im Fehlerfall wird der Funktion ein error Objektparameter (siehe den Fehler Objekt). Das error Das Objekt hat zwei Eigenschaften: code (eine ganze Zahl) und message (eine Zeichenkette), die die Ursache des Fehlers angibt. Der Aufruf von publish() schlägt fehl, wenn die Ihrem Token zugewiesene Rolle nicht „publisher“ oder „moderator“ lautet; in diesem Fall wird die error.name Eigenschaft wird auf "OT_PERMISSION_DENIED". Anruf publish() schlägt ebenfalls fehl, wenn der Client keine Verbindung herstellen kann; in diesem Fall wird die error.name Eigenschaft wird auf "OT_NOT_CONNECTED". Der folgende Code fügt beim Aufruf der Funktion publish() Methode: session.publish(publisher, null, function (error) { if (error) { console.log(error.message); } else { console.log("Publishing a stream."); } }); |
Rückgabe:
Das Publisher-Objekt für diesen Stream.
removeEventListener(Typ, Listener, Kontext)
Parameter:
| Name | Typ | Beschreibung |
|---|---|---|
type |
Zeichenfolge | Die Zeichenfolge, die die Art des Ereignisses angibt. |
listener |
Funktion | Die zu entfernende Ereignis-Listener-Funktion. |
context |
Objekt | (Optional) Wenn Sie einen context, wird der Ereignis-Handler für alle angegebenen Ereignisse und Ereignis-Listener entfernt, die den angegebenen Kontext verwenden. (Der Kontext muss mit dem Kontext übereinstimmen, der an addEventListener().) |
Abgelehnt — Verwendung off() stattdessen.
Entfernt einen Ereignis-Listener für ein bestimmtes Ereignis.
Löst eine Ausnahme aus, wenn die listener Der Name ist ungültig.
Siehe: : - off() - Veranstaltungen
setEncryptionSecret(secret) → {Promise}
Legt den Verschlüsselungsschlüssel für eine Sitzung fest, bei der die End-to-End-Verschlüsselung aktiviert ist. Wird diese Methode in einer Sitzung aufgerufen, in der die Verschlüsselung nicht aktiviert ist, wird die Funktion ausgeführt, ohne dass ein Fehler ausgelöst wird. Benutzer können ihren festgelegten Verschlüsselungsschlüssel jederzeit ändern. Siehe End-to-End-Verschlüsselung Entwicklerhandbuch.
Parameter:
| Name | Typ | Beschreibung |
|---|---|---|
secret |
String | Der Verschlüsselungsschlüssel. |
Siehe: : - OT.initSession - Veranstaltungen für Abonnenten
Rückgabe:
Ein Promise, das bei erfolgreicher Ausführung der Operation
keinen Wert zurückgibt. Bei einem Fehler wird das Promise abgelehnt. Das
name Die Eigenschaft des Error-Objekts wird je nach Fehlertyp auf einen der folgenden
Werte gesetzt:
'OT_INVALID_ENCRYPTION_SECRET'; Das Passwort ist ungültig.
Ein geheimes Mismatch kann auftreten, wenn kein Fehler ausgelöst wird. Siehe Veranstaltungen für Abonnenten für weitere Informationen.
setIceConfig(newIceConfig)
Legt die ICE-Konfiguration für alle Verbindungen in einer Sitzung fest. Dies ersetzt alle zuvor festgelegten ICE-Konfigurationen.
Diese Funktion steht für Projekte zur Verfügung, die die konfigurierbar TURN-Server-Erweiterung.
Parameter:
| Name | Typ | Beschreibung |
|---|---|---|
newIceConfig |
IceConfig | Dieses Objekt definiert die ICE-Konfiguration. Es verfügt über die folgenden Eigenschaften: - includeServers (Zeichenkette) — Setzen Sie diesen Wert auf „custom“, damit der Client ausschließlich die benutzerdefinierten TURN-Server verwendet, die Sie in der customServers Eigenschaft des newIceConfig Parameter. Wenn Sie diesen Wert auf „all“ setzen, verwendet der Client sowohl die von Ihnen bereitgestellten benutzerdefinierten TURN-Server als auch die TURN-Server der Vonage Video API. - transportPolicy (Zeichenkette) — Setzen Sie diesen Wert auf „all“ (Standard), damit der Client alle ICE-Transporttypen (wie z. B. host, srflx und TURN) zum Aufbau der Medienverbindung verwendet. Setzen Sie diesen Wert 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 (Zeichenkette oder Array von Zeichenketten) — Eine Zeichenkette oder ein Array von Zeichenketten, wobei jede Zeichenkette eine vom TURN-Server unterstützte URL ist (und es kann sich dabei auch nur um eine einzige URL handeln). - username (Zeichenkette, optional) — Der Benutzername für den in diesem Objekt definierten TURN-Server. - credential (Zeichenkette, optional) — Die Anmeldeinformationen für den in diesem Objekt definierten TURN-Server. |
Siehe: : - OT.initSession()
signal(signal, completionHandler) → {Promise.<void>}
Sendet ein Signal an jeden Client oder einen bestimmten Client in der Sitzung. Geben Sie einen
to Eigenschaft der signal Parameter, um das Signal auf
einen bestimmten Client zu beschränken; andernfalls wird das Signal an jeden Client gesendet, der mit
der Sitzung verbunden ist.
Im folgenden Beispiel wird ein Signal vom Typ „foo“ mit einer bestimmten Datenlast („hello“) an alle mit der Sitzung verbundenen Clients gesendet:
try {
await session.signal({
type: "foo",
data: "hello"
});
console.log("signal sent");
} catch (error) {
console.log("signal error: " + error.message);
}
Wird diese Methode aufgerufen, ohne einen Empfänger-Client anzugeben (durch Setzen des to
Eigenschaft des signal Parameter) führt dazu, dass mehrere Signale gesendet werden (jeweils eines an jeden
Client in der Sitzung). Informationen zu den Gebühren für die Signalisierung finden Sie unter
Preise für die Vonage Video API Seite.
Im folgenden Beispiel wird ein Signal vom Typ „foo“ mit einer Datenlast („hello“) an einen bestimmten, mit der Sitzung verbundenen Client gesendet:
try {
await session.signal({
type: "foo",
to: recipientConnection, // a Connection object
data: "hello"
});
console.log("signal sent");
} catch (error) {
console.log("signal error: " + error.message);
}
Füge einen Ereignis-Handler für das signal Ereignis, um alle in der
Sitzung gesendeten Signale abzufangen. Fügen Sie einen Ereignis-Handler für das signal:type Ereignis, bei dem
nur Signale eines bestimmten Typs abgehört werden sollen (ersetzen Sie type, in signal:type,
mit der Art des Signals, auf das gewartet werden soll). Das Session-Objekt löst diese Ereignisse aus. (Siehe
Veranstaltungen.)
Parameter:
| Name | Typ | Beschreibung | ||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
signal |
Objekt | Ein Objekt, das die folgenden Eigenschaften enthält, die das Signal definieren: - data — (Zeichenkette) Die zu sendenden Daten. Die maximale Länge der Datenzeichenkette beträgt 8 kB. Setzen Sie die Datenzeichenkette nicht auf null oder undefined. - retryAfterReconnect— (Boolescher Wert) Gibt an, ob bei der Wiederherstellung der Verbindung zur Sitzung Signale gesendet werden sollen, die während der Unterbrechung der Verbindung ausgelöst wurden. Wenn Ihr Client aufgrund einer Unterbrechung der Netzwerkverbindung die Verbindung zur Vonage Video API-Sitzung verliert, versucht der Client, die Verbindung zur Sitzung wiederherzustellen, und das Session-Objekt sendet ein reconnecting Ereignis. Standardmäßig werden Signale, die während einer Unterbrechung der Verbindung ausgelöst wurden, gesendet, sobald (und sofern) der Client die Verbindung zur Vonage Video API-Sitzung wiederherstellt. Sie können dies verhindern, indem Sie die retryAfterReconnect Eigenschaft zu false. (Der Standardwert ist true.) – to — (Verbindung) A Verbindung Objekt, das dem Client entspricht, an den die Nachricht gesendet werden soll. Wenn Sie diese Eigenschaft nicht angeben, wird das Signal an alle mit der Sitzung verbundenen Clients gesendet. - type — (Zeichenkette) Der Typ des Signals. Anhand des Typs können Sie Signale filtern, wenn Sie einen Ereignis-Handler für das signal:type Ereignis (wobei Sie type (mit der Zeichenkette „type“). Die maximale Länge der type Die Zeichenfolge ist 128 Zeichen lang und darf nur Buchstaben (A–Z und a–z), Numbers (0–9), „-“, „_“ und „~“ enthalten. Jede Eigenschaft ist optional. Wenn Sie keine der Eigenschaften festlegen, senden Sie an jeden mit der Sitzung verbundenen Client ein Signal ohne Daten oder Typ. |
||||||||||||||||||
completionHandler |
Funktion | (Optional) Eine Funktion, die aufgerufen wird, wenn das Senden des Signals erfolgreich ist oder fehlschlägt. Diese Funktion nimmt einen Parameter entgegen — error. Bei Erfolg wird die completionHandler Der Funktion werden keine Argumente übergeben. Im Fehlerfall wird der Funktion ein error Objekt, definiert durch das Fehler Klasse. Die Website error Das Objekt verfügt über die folgenden Eigenschaften: - code — (Numbers) Ein Fehlercode, der einer der folgenden sein kann: |
--- | --- | 400 | Eine der Signaleigenschaften ist ungültig. | 404 | Der durch den to Die Eigenschaft ist nicht mit der Sitzung verknüpft. |
413 | Die type Die Zeichenkette überschreitet die maximale Länge (128 Bytes) oder die data Die Zeichenkette überschreitet die maximale Größe (8 kB). |
500 | Sie sind nicht mit der Vonage Video API-Sitzung verbunden. | - message — (Zeichenkette) Eine Beschreibung des Fehlers. Beachten Sie, dass die completionHandler Erfolgsergebnis (error == null) zeigt an, dass die an die Session.signal() Die Methode ist gültig und das Signal wurde gesendet. Es tut nicht anzeigen, dass das Signal von einem der vorgesehenen Empfänger erfolgreich empfangen wurde. |
Siehe: : - Signal und signal:type Veranstaltungen
Rückgabe:
Ein Promise, das aufgelöst wird, sobald das Signal gesendet wurde
subscribe(stream, targetElement, properties, completionHandler) → {Abonnent}
Abonniert einen Stream, der für die Sitzung verfügbar ist. Sie können ein Array der
verfügbaren Streams über die streams Eigenschaft der sessionConnected
und streamCreated Veranstaltungen (siehe
SessionConnectEvent und
StreamEvent).
Der abonnierte Stream wird auf der lokalen Webseite angezeigt, indem das angegebene Element im DOM durch eine Streaming-Videoanzeige ersetzt wird. Wenn Breite und Höhe der Anzeige nicht dem Seitenverhältnis 4:3 des Videosignals entsprechen, wird der Videostream so beschnitten, dass er auf die Anzeige passt. Fehlt im Stream eine Videokomponente, wird anstelle des Videostreams ein leerer Bildschirm mit einer Audioanzeige angezeigt.
The application solves a error if there is no connection to the session or if the session is not connected.
targetElement ist im HTML-DOM nicht vorhanden.
Beispiel
Der folgende Code abonniert die Streams anderer Clients:
var apiKey = ""; // Replace with your API key. See https://tokbox.com/account
var sessionID = ""; // Replace with your own session ID.
// See https://tokbox.com/developer/guides/create-session/.
var token = ""; // Replace with a generated token.
// See https://tokbox.com/developer/guides/create-token/.
var session = OT.initSession(apiKey, sessionID);
session.on("streamCreated", function(event) {
subscriber = session.subscribe(event.stream, targetElement);
});
session.connect(token);
Parameter:
| Name | Typ | Beschreibung | |
|---|---|---|---|
stream |
Stream | Das Stream-Objekt, das den Stream repräsentiert, den wir abonnieren möchten. | |
targetElement |
Objekt | (Optional) Das DOM-Element oder das id Attribut des vorhandenen DOM-Elements, das zur Bestimmung der Position des Subscriber-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. |
|
properties |
Objekt | Dies ist ein Objekt, das die folgenden Eigenschaften enthält: - audioVolume (Zahl) — Die gewünschte Lautstärke zwischen 0 und 100 beim ersten Öffnen des Abonnements (Standard: 50). Nachdem Sie den Stream abonniert haben, können Sie die Lautstärke durch Aufruf der setAudioVolume() Methode des „Subscriber“-Objekts. Diese Lautstärkeeinstellung wirkt sich nur auf die lokale Wiedergabe aus; sie hat keinen Einfluss auf die Lautstärke des Streams auf anderen Clients. - 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, deren Quelle eine Kamera ist (für Stream-Objekte mit dem videoType Eigenschaft auf "camera"). - "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 (für Stream-Objekte mit dem videoType Eigenschaft gesetzt auf "screen"). - height (Zahl oder Zeichenfolge) — Die gewünschte Anfangshöhe des auf der HTML-Seite angezeigten 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 Videos anzupassen, ändern Sie das CSS des DOM-Elements des Abonnenten (das element Eigenschaft des Subscriber-Objekts) oder (falls die Höhe als Prozentsatz angegeben ist) dessen übergeordnetes DOM-Element (siehe Größenänderung oder Neupositionierung eines Videos). - 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 des Videos. (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 „Subscriber“-Objekts ist undefiniert. Das „Subscriber“-Objekt löst 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 eine Referenz auf den Abonnenten 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 Element (oder dessen object Element im Internet Explorer) 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 „Subscriber“-Objekt in das HTML-DOM eingefügt wird. Siehe die targetElement Parameter. Diese Zeichenfolge kann folgende Werte annehmen: - "replace" — Das „Subscriber“-Objekt ersetzt den Inhalt des „targetElement“. Dies ist die Standardeinstellung. - "after" — Das „Subscriber“-Objekt ist ein neues Element, das hinter dem „targetElement“ in das HTML-DOM eingefügt wird. (Sowohl das „Subscriber“-Objekt als auch das „targetElement“ haben dasselbe übergeordnete Element.) - "before" — Das „Subscriber“-Objekt ist ein neues Element, das vor dem „targetElement“ in das HTML-DOM eingefügt wird. (Sowohl das „Subscriber“-Objekt als auch das „targetElement“ haben dasselbe übergeordnete Element.) - "append" — Das „Subscriber“-Objekt ist ein neues Element, das als untergeordnetes Element des „targetElement“ hinzugefügt wird. Falls bereits andere untergeordnete Elemente vorhanden sind, wird der „Subscriber“ als letztes untergeordnetes Element des „targetElement“ angehängt. - preferredFrameRate (Zahl) — Die bevorzugte Bildrate des Videos des Abonnenten. Eine Verringerung der bevorzugten Bildrate führt zu einer Verschlechterung der Videoqualität auf dem abonnierenden Client, reduziert jedoch auch die Netzwerk- und CPU-Auslastung. Möglicherweise möchten Sie eine niedrigere Bildrate für Abonnenten eines Streams verwenden, der weniger wichtig ist als andere Streams. Diese Eigenschaft gilt nur beim Abonnieren eines Streams, der die Skalierbare Videofunktion. Skalierbares Video ist verfügbar: - Nur in Sitzungen, die den Vonage Video API Media Router verwenden (Sitzungen mit dem Medien Modus (auf „routed“ gesetzt). - Gilt nur für Streams, die von Clients veröffentlicht werden, die skalierbares Video unterstützen: Clients, die das Vonage Video API iOS SDK (auf bestimmten Geräten), das Vonage Video API Android SDK (auf bestimmten Geräten) oder OpenTok.js in Chrome und Safari verwenden. In Streams, die kein skalierbares Video verwenden, hat die Einstellung dieser Eigenschaft keine Auswirkung. Anmerkung: Die Bildrate für skalierbare Videostreams wird für jeden Teilnehmer automatisch an die Netzwerkbedingungen und die CPU-Auslastung angepasst, auch wenn Sie diese Methode nicht aufrufen. Rufen Sie diese Methode auf, wenn Sie eine maximale Bildrate für diesen Teilnehmer festlegen möchten. Nicht jede Bildrate steht einem Abonnenten zur Verfügung. Wenn Sie die bevorzugte Bildrate für den Abonnenten festlegen, wählt OpenTok.js die beste verfügbare Bildrate aus, die Ihrer Einstellung entspricht. Die verfügbaren Bildraten basieren auf dem Wert des Subscriber-Objekts stream.frameRate Eigenschaft, die den für den Stream verfügbaren Maximalwert angibt. Die tatsächlich verfügbaren Bildraten hängen dynamisch von den Netzwerk- und CPU-Ressourcen ab, die dem Publisher und dem Subscriber zur Verfügung stehen. Sie können die bevorzugte Bildrate dynamisch ändern, indem Sie die setPreferredFrameRate() Methode des Subscriber-Objekts. - preferredResolution (Zeichenkette |
Objekt) — Die bevorzugte Auflösung des Videos des Abonnenten. Setzen Sie diesen Wert auf "auto" (eine Zeichenkette, empfohlen), damit OpenTok.js die Auflösung anhand der Abmessungen des Teilnehmers im Browser festlegt. Oder legen Sie hier ein Objekt mit zwei Eigenschaften fest: width und height (beide Numbers), wie zum Beispiel {width: 320, height: 240}. Durch die Verringerung der bevorzugten Videoauflösung wird zwar die Videoqualität auf dem Client des Abonnenten beeinträchtigt, dafür sinken jedoch auch die Netzwerk- und CPU-Auslastung. Möglicherweise möchten Sie eine niedrigere Auflösung verwenden, die sich nach den Abmessungen des Videos des Abonnenten auf der Webseite richtet (dies wird automatisch über die "auto" Einstellung). Oder Sie möchten vielleicht für Abonnenten eines Streams eine Auflösung verwenden, die weniger wichtig (und kleiner) ist als bei anderen Streams. Anmerkung: Die "auto" Die Auflösungseinstellung gilt nur, wenn Sie das vom SDK erstellte Standard-„Subscriber Video“-Element verwenden. Sie funktioniert nicht, wenn Sie als Reaktion auf die mediaStreamAvailable Ereignis (siehe dieses Thema). Diese Eigenschaft gilt nur beim Abonnieren eines Streams, der die Skalierbare Videofunktion. Skalierbares Video ist verfügbar: - Nur in Sitzungen, die den Vonage Video API Media Router verwenden (Sitzungen mit dem Medien Modus (auf „routed“ gesetzt). - Gilt nur für Streams, die von Clients veröffentlicht werden, die skalierbares Video unterstützen: Clients, die das Vonage Video API iOS SDK (auf bestimmten Geräten), das Vonage Video API Android SDK (auf bestimmten Geräten) oder OpenTok.js in Chrome und Safari verwenden. In Streams, die kein skalierbares Video verwenden, hat die Einstellung dieser Eigenschaft keine Auswirkung. Nicht jede Auflösung steht einem Abonnenten zur Verfügung. Wenn Sie die bevorzugte Auflösung festlegen, wählen OpenTok.js und der Video-Encoder die beste verfügbare Auflösung aus, die Ihrer Einstellung entspricht. Die verfügbaren Auflösungen hängen von der Auflösung des veröffentlichten Streams ab. Das „Subscriber“-Objekt stream.resolution Die Eigenschaft gibt die höchste für den Stream verfügbare Auflösung an. Alle für einen Stream verfügbaren Auflösungen verwenden dasselbe Seitenverhältnis. Die tatsächlich verfügbaren Auflösungen hängen dynamisch von den Netzwerk- und CPU-Ressourcen ab, die dem Publisher und dem Subscriber zur Verfügung stehen. Sie können die bevorzugte Videoauflösung dynamisch ändern, indem Sie die Methode setPreferredResolution() Methode des Subscriber-Objekts. - showControls (Boolescher Wert) — Gibt an, ob die integrierten Bedienelemente der Benutzeroberfläche für den Abonnenten angezeigt werden sollen (Standard: true). Zu diesen Steuerelementen gehören die Namensanzeige, die Audiopegelanzeige, die Lautsprechersteuerungstaste, die Anzeige für deaktiviertes Video sowie das Warnsymbol für deaktiviertes Video. Sie können alle Steuerelemente der Benutzeroberfläche deaktivieren, indem Sie diese Eigenschaft auf false. Sie können die Anzeige einzelner Bedienelemente der Benutzeroberfläche steuern, indem Sie diese Eigenschaft auf true (Standard) und das Anpassen einzelner Eigenschaften des style Eigenschaft. - style (Objekt) — Ein Objekt, das Eigenschaften enthält, die das anfängliche Erscheinungsbild der Benutzeroberflächenelemente des Abonnenten definieren. Das style Das Objekt enthält die folgenden Eigenschaften: - audioBlockedDisplayMode (Zeichenkette) — Gibt an, ob das Standard-Symbol für blockierten Ton in „Abonnenten“ angezeigt werden soll (in Browsern, in denen die automatische Wiedergabe von Ton blockiert ist). Mögliche Werte sind: "auto" (das Standard-Symbol wird angezeigt, wenn der Ton deaktiviert ist) und "off" (Das Symbol wird nicht angezeigt). Setzen Sie dies auf "off" Wenn Sie ein eigenes UI-Element anzeigen möchten, das darauf hinweist, dass der Ton blockiert ist. Als Reaktion darauf, dass ein HTML-Element ein click Ereignis können Sie die OT.unblockAudio() Methode zum Starten der Audiowiedergabe in diesem und allen anderen blockierten Abonnenten. - 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). - 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 subscribeToVideo(false) (im „Subscriber“-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 Subscriber.getImgData() Methode. (Beispielsweise könnten Sie die Eigenschaft auf einen Wert setzen, der durch den Aufruf von getImgData() (auf einem früheren „Subscriber“-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) — So werden die Lautsprechersteuerelemente angezeigt 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 für einen Abonnenten die Anzeige der Symbolleiste „Video deaktiviert“ und die Warnsymbole für deaktivierte Videos 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 Abonnentenobjekt. 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" - subscribeToAudio (Boolescher Wert) — Gibt an, ob der Audio-Stream (sofern verfügbar) für den Stream zunächst abonniert werden soll (Standard: true). - subscribeToVideo (Boolescher Wert) — Gibt an, ob das Video (sofern verfügbar) für den Stream zunächst abonniert werden soll (Standard: true). - subscribeToCaptions (Boolescher Wert) — Gibt an, ob Untertitel (sofern verfügbar) für den Stream von Anfang an abonniert werden sollen (Standard: Der Wert „captions“ des Publishers des Streams). - testNetwork (Boolesch) — Gibt an, ob beim Abonnieren eines vom lokalen Client veröffentlichten Streams der Stream vom Vonage Video API Media Router bereitgestellt werden soll (true) oder wenn Sie möchten, dass das DOM lediglich das Video der lokalen Kamera anzeigt (false). Setzen Sie diesen Wert auf true wenn Sie die Subscriber.getStats() Methode zur Überprüfung der Statistiken für einen von Ihnen veröffentlichten Stream. Diese Einstellung gilt nur für Streams, die vom lokalen Client in einer Sitzung veröffentlicht werden, die den Vonage Video API Media Router verwendet (Sitzungen mit dem Medienbetrieb (auf „routed“ gesetzt), nicht in Sitzungen, bei denen der Medienmodus auf „relayed“ gesetzt ist. Der Standardwert ist false. - width (Zahl oder Zeichenfolge) — Die gewünschte Anfangsbreite des auf der HTML-Seite angezeigten 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 Videos anzupassen, ändern Sie das CSS des DOM-Elements des Abonnenten (das element Eigenschaft des Subscriber-Objekts) oder (falls die Breite als Prozentsatz angegeben ist) dessen übergeordnetes DOM-Element (siehe Größenänderung oder Neupositionierung eines Videos). |
completionHandler |
Funktion | (Optional) Eine Funktion, die aufgerufen werden soll, wenn der Aufruf der subscribe() ob die Methode erfolgreich ist oder fehlschlägt. Diese Funktion nimmt einen Parameter entgegen — error. Bei Erfolg wird die completionHandler Der Funktion werden keine Argumente übergeben. Im Fehlerfall wird der Funktion ein error Objekt, definiert durch das Fehler Die Klasse verfügt über zwei Eigenschaften: code (eine ganze Zahl) und message (eine Zeichenkette), die die Ursache des Fehlers angibt. Der folgende Code fügt eine completionHandler beim Aufruf der subscribe() Methode: session.subscribe(stream, "subscriber", null, function (error) { if (error) { console.log(error.message); } else { console.log("Subscribed to stream: " + stream.id); } }); |
Rückgabe:
Das „Subscriber“-Objekt für diesen Stream. Funktionen zur Stream-Steuerung werden über das „Subscriber“-Objekt bereitgestellt.
Veröffentlichung rückgängig machen (Herausgeber)
Beendet die Übertragung des Audio-Video-Streams des angegebenen Anbieters
an die Sitzung. Standardmäßig wird die lokale Darstellung des Audio-Video-Streams
von der Webseite entfernt. Bei erfolgreicher Beendigung löst das Session-Objekt auf jeder
verbundenen Webseite ein
Ereignis aus streamDestroyed Veranstaltung.
Um zu verhindern, dass der Publisher aus dem DOM entfernt wird, fügen Sie einen Ereignis-Listener für das
streamDestroyed Ereignis, das vom Publisher-Objekt ausgelöst wird, und rufen die
preventDefault() Methode des Ereignisobjekts.
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.
Ausgelöste Ereignisse:
streamDestroyed (StreamEvent) —
Der mit dem Publisher verbundene Stream wurde gelöscht. Ausgelöst durch den
Publisher im Browser des Publishers. Ausgelöst durch das Session-Objekt auf
allen anderen Verbindungen, die den Stream des Publishers abonniert haben.
Beispiel
Im folgenden Beispiel wird ein Stream in einer Sitzung veröffentlicht und der Webseite ein Link „Trennen“ hinzugefügt. Durch Klicken auf diesen Link wird die Veröffentlichung des Streams beendet.
<script>
var apiKey = ""; // Replace with your API key. See https://tokbox.com/account
var sessionID = ""; // Replace with your own session ID.
// See https://tokbox.com/developer/guides/create-session/.
var token = ""; // Replace with a generated token.
// See https://tokbox.com/developer/guides/create-token/.
var publisher;
var session = OT.initSession(apiKey, sessionID);
session.connect(token, function(error) {
if (error) {
console.log(error.message);
} else {
// This assumes that there is a DOM element with the ID 'publisher':
publisher = OT.initPublisher('publisher');
session.publish(publisher);
}
});
function unpublish() {
session.unpublish(publisher);
}
</script>
<body>
<div id="publisherContainer/>
<br/>
[Stop Publishing](javascript:unpublish())
</body>
Parameter:
| Name | Typ | Beschreibung |
|---|---|---|
publisher |
Herausgeber | Das Publisher-Objekt, um das Streaming zu beenden. |
Siehe: : - publish() - Ereignis „streamDestroyed“
Abmelden (Abonnent)
Beendet das Abonnieren eines Streams in der Sitzung. Die Anzeige des Audio-Video-Streams wird von der lokalen Webseite entfernt.
Beispiel
Der folgende Code abonniert die Streams anderer Clients. Für jeden Stream fügt der Code außerdem einen Link zum Abmelden hinzu.
var apiKey = ""; // Replace with your API key. See See https://tokbox.com/account
var sessionID = ""; // Replace with your own session ID.
// See https://tokbox.com/developer/guides/create-session/.
var token = ""; // Replace with a generated token.
// See https://tokbox.com/developer/guides/create-token/.
var streams = [];
var session = OT.initSession(apiKey, sessionID);
session.on("streamCreated", function(event) {
var stream = event.stream;
displayStream(stream);
});
session.connect(token);
function displayStream(stream) {
var div = document.createElement('div');
div.setAttribute('id', 'stream' + stream.streamId);
var subscriber = session.subscribe(stream, div);
subscribers.push(subscriber);
var aLink = document.createElement('a');
aLink.setAttribute('href', 'javascript: unsubscribe("' + subscriber.id + '")');
aLink.innerHTML = "Unsubscribe";
var streamsContainer = document.getElementById('streamsContainer');
streamsContainer.appendChild(div);
streamsContainer.appendChild(aLink);
streams = event.streams;
}
function unsubscribe(subscriberId) {
console.log("unsubscribe called");
for (var i = 0; i < subscribers.length; i++) {
var subscriber = subscribers[i];
if (subscriber.id == subscriberId) {
session.unsubscribe(subscriber);
}
}
}
Parameter:
| Name | Typ | Beschreibung |
|---|---|---|
subscriber |
Abonnent | Das Abonnentenobjekt, das abgemeldet werden soll. |
Siehe: : - subscribe()
Veranstaltungen
Archiv gestartet
Wird gesendet, wenn eine Archivaufzeichnung der Sitzung beginnt.
Siehe: : - Archiv-Veranstaltung - Überblick über die Archivierung
Archiv gestoppt
Wird gesendet, wenn eine Archivaufzeichnung der Sitzung beendet wird.
Siehe: : - Archiv-Veranstaltung - Überblick über die Archivierung
Verbindung erstellt
Wird ausgelöst, wenn sich ein neuer Client (einschließlich Ihres eigenen) mit der Sitzung verbunden hat, sowie für
jeden Client in der Sitzung, sobald dieser zum ersten Mal eine Verbindung herstellt. (Das Session-Objekt löst außerdem
ein sessionConnected Ereignis, wenn sich Ihr lokaler Client verbindet.)
Siehe: : - Verbindungsereignis - OT.initSession()
Verbindung unterbrochen
Ein anderer Client als Ihr eigener hat die Verbindung zur Sitzung getrennt.
Siehe: : - Verbindungsereignis
cpuPerformanceChanged
Der Leistungsstatus der CPU hat sich geändert. Dieser kann auf eine der folgenden Stufen eingestellt werden: „nominal“, „fair“, „serious“ oder „critical“.
Siehe: : - CpuPerformanceChangedEvent
muteForced
Ein Moderator hat die Teilnehmer, die Streams in der Sitzung veröffentlichen, dazu gezwungen, den Ton stummzuschalten (die
active Die Eigenschaft dieses MuteForcedEvent-Objekts ist auf true) oder
ein Moderator hat den Status „Audio stummschalten“ in der Sitzung deaktiviert (der active
Die Eigenschaft dieses MuteForcedEvent-Objekts ist auf false).
Siehe: : - MuteForcedEvent - Session.forceMuteAll() - Session.disableForceMute() - Stummschalten des Tons von Streams in einer Sitzung
sessionConnected
Der Client hat eine Verbindung zu einer Vonage Video API-Sitzung hergestellt. Dieses Ereignis wird asynchron ausgelöst
als Reaktion auf einen erfolgreichen Aufruf der connect() Methode eines Session-Objekts
. Vor dem Aufruf der connect() Methode: Initialisieren Sie die Sitzung durch
Aufruf der OT.initSession() Methode. Ein Code-Beispiel und weitere Details finden Sie
unter Session.connect().
Siehe: : - SessionConnectEvent - Session.connect() - OT.initSession()
Sitzung getrennt
Der Client hat die Verbindung zur Sitzung getrennt. Dieses Ereignis kann asynchron ausgelöst werden
als Reaktion auf einen erfolgreichen Aufruf der disconnect() Methode des Session-Objekts.
Das Ereignis kann auch ausgelöst werden, wenn eine Session-Verbindung unbeabsichtigt unterbrochen wird, beispielsweise
bei einem Verbindungsabbruch.
Standardmäßig werden alle „Subscriber“-Objekte abgemeldet und aus dem
HTML-DOM entfernt. Jedes „Subscriber“-Objekt löst ein destroyed Ereignis, wenn das Element
aus dem HTML-DOM entfernt wird. Wenn Sie die preventDefault() Methode im Ereignis-Listener
für den sessionDisconnect Ereignis wird das Standardverhalten unterbunden, und
Sie können optional Subscriber-Objekte mithilfe Ihres eigenen Codes bereinigen.
Die reason Die Eigenschaft des Ereignisobjekts gibt den Grund dafür an,
dass die Verbindung zum Client unterbrochen wurde.
Siehe: : - Session.disconnect() - Session.forceDisconnect() - SessionDisconnectEvent
sessionReconnected
Der lokale Client hat die Verbindung zur Vonage Video API-Sitzung wiederhergestellt, nachdem diese
vorübergehend unterbrochen war. Wenn die Verbindung unterbrochen wird, löst das Session-Objekt ein
sessionReconnecting Veranstaltung, vor der sessionReconnected
Ereignis. Wenn der Client die Verbindung zur Sitzung nicht wiederherstellen kann, löst das Session-Objekt ein
sessionDisconnected Veranstaltung anstelle dieser Veranstaltung.
Alle vorhandenen Publisher und Subscriber werden automatisch wieder verbunden, wenn der Client die Verbindung wiederherstellt und das Session-Objekt dieses Ereignis auslöst.
Alle Signale, die von anderen Clients gesendet wurden, während die Verbindung Ihres Clients unterbrochen war, werden bei der
Wiederherstellung der Verbindung empfangen. Standardmäßig werden Signale, die vom lokalen Client während der Unterbrechung
(durch Aufruf der Session.signal() Methode) werden gesendet, wenn der Client die Verbindung
zur Vonage Video API-Sitzung wiederherstellt. Sie können dies verhindern, indem Sie die retryAfterReconnect
Eigenschaft zu false im signal Objekt, das Sie an die
Session.signal() Methode.
Siehe: : - Veranstaltung - Ereignis „sessionReconnecting“ - Ereignis „sessionDisconnected“
Sitzung wird neu verbunden
Der lokale Client hat die Verbindung zu einer Vonage Video API-Sitzung verloren und versucht, die Verbindung wiederherzustellen.
Dies ist auf einen Ausfall der Netzwerkverbindung zurückzuführen. Wenn der Client die Verbindung zur Sitzung wiederherstellen kann,
löst das Session-Objekt ein sessionReconnected Ereignis. Andernfalls, falls der Client
die Verbindung nicht wiederherstellen kann, löst das Session-Objekt ein sessionDisconnected Veranstaltung.
Als Reaktion auf dieses Ereignis möchten Sie möglicherweise eine Benachrichtigung über die Benutzeroberfläche anzeigen, um den Benutzer darüber zu informieren, dass die App versucht, die Verbindung zur Sitzung wiederherzustellen, und dass die Audio- und Videostreams vorübergehend unterbrochen sind.
Siehe: : - Veranstaltung - Ereignis „sessionReconnected“ - Ereignis „sessionDisconnected“
Signal
Von der Sitzung wurde ein Signal empfangen. Das SignalEvent Die Klasse definiert dieses Ereignisobjekt. Es umfasst die folgenden Eigenschaften:
data— (Zeichenkette) Die mit dem Signal gesendete Zeichenkette (falls vorhanden).from— (Verbindung) Die Verbindung, die dem Client entspricht, der das Signal gesendet hat.type— (Zeichenkette) Der dem Signal zugewiesene Typ (sofern vorhanden ).
Sie können sich registrieren, um alle in der Sitzung gesendeten Signale zu empfangen, indem Sie einen Ereignis-Handler
für das signal Ereignis. Der folgende Code fügt beispielsweise einen Ereignis-Handler hinzu,
um alle in der Sitzung gesendeten Signale zu verarbeiten:
session.on("signal", function(event) {
console.log("Signal sent from connection: " + event.from.id);
console.log("Signal data: " + event.data);
});
Sie können sich für Signale eines bestimmten Typs registrieren, indem Sie einen Ereignis-Handler für das
signal:type Ereignis (ersetzt type mit der tatsächlichen Typ-Zeichenkette
(nach der gefiltert werden soll).
Siehe: : - Session.signal() - SignalEvent - signal:type Veranstaltung
streamCreated
In dieser Sitzung wurde ein neuer Stream erstellt, der von einem anderen Client veröffentlicht wurde. Bei Streams,
die von Ihrem eigenen Client veröffentlicht werden, sendet das Publisher-Objekt eine streamCreated
Ereignis. Ein Code-Beispiel und weitere Details finden Sie unter StreamEvent.
Siehe: : - StreamEvent - Session.publish()
streamDestroyed
Ein Stream eines anderen Clients hat die Übertragung an die Sitzung eingestellt.
Standardmäßig werden alle „Subscriber“-Objekte, die den Stream abonniert haben,
abgemeldet und aus dem HTML-DOM entfernt. Jedes „Subscriber“-Objekt löst ein
destroyed Ereignis, wenn das Element aus dem HTML-DOM entfernt wird. Wenn Sie die
preventDefault() Methode im Ereignis-Listener für die
streamDestroyed Ereignis wird das Standardverhalten unterbunden, und Sie können
ein Subscriber-Objekt für den Stream bereinigen, indem Sie dessen destroy() Methode. Siehe
Session.getSubscribersForStream().
Bei Streams, die von Ihrem eigenen Client veröffentlicht werden, sendet das Publisher-Objekt ein
streamDestroyed Veranstaltung.
Ein Code-Beispiel und weitere Informationen finden Sie unter StreamEvent.
Siehe: : - StreamEvent
streamPropertyChanged
Definiert ein Ereignis, das ausgelöst wird, wenn sich eine Eigenschaft eines Streams geändert hat. Dies kann unter den folgenden Bedingungen geschehen:
- Ein Stream hat die Übertragung von Audio, Untertiteln oder Video gestartet oder beendet (siehe
Publisher.publishAudio(),
Publisher.publishCaptions() und
Publisher.publishVideo()). Hinweis:
Das Video eines Abonnenten kann auch aus anderen Gründen deaktiviert oder aktiviert werden als
durch die Deaktivierung oder Aktivierung durch den Herausgeber. Ein „Subscriber“-Objekt löst
videoDisabledundvideoEnabledEreignisse unter allen Bedingungen, die dazu führen, dass der Stream des Abonnenten deaktiviert oder aktiviert wird. - Die
videoDimensionsDie Eigenschaft des Stream-Objekts hat sich geändert (siehe Stream.videoDimensions). - Die
videoTypeEine Eigenschaft des Stream-Objekts hat sich geändert. Dies kann bei einem von einem Mobilgerät veröffentlichten Stream vorkommen. (Siehe Stream.videoType.)
Siehe: : - StreamPropertyChangedEvent - Publisher.publishAudio() - Publisher.publishCaptions() - Publisher.publishVideo() - Stream.hasAudio - Stream.hasCaptions - Stream.hasVideo - Stream.videoDimensions - Abonnentenvideo – Deaktiviertes Ereignis - Veranstaltung mit Video für Abonnenten
signal:type
Von der Sitzung wurde ein Signal des angegebenen Typs empfangen. Das SignalEvent Die Klasse definiert dieses Ereignisobjekt. Es umfasst die folgenden Eigenschaften:
data— (Zeichenkette) Die mit dem Signal gesendete Zeichenkette.from— (Verbindung) Die Verbindung, die dem Client entspricht, der das Signal gesendet hat.type— (Zeichenkette) Der dem Signal zugewiesene Typ (falls vorhanden).
Sie können sich für Signale eines bestimmten Typs registrieren, indem Sie einen Ereignis-Handler für das
signal:type Ereignis (ersetzt type mit der tatsächlichen Typ-Zeichenkette
, nach der gefiltert werden soll). Der folgende Code fügt beispielsweise einen Ereignis-Handler für Signale vom
Typ „foo“ hinzu:
session.on("signal:foo", function(event) {
console.log("foo signal sent from connection " + event.from.id);
console.log("Signal data: " + event.data);
});
Sie können sich registrieren, um alle Signale, die während der Sitzung gesendet werden, durch Hinzufügen eines Ereignis-Handlers
für die signal Veranstaltung.
Siehe: : - Session.signal() - SignalEvent - Signal Veranstaltung