„StreamEvent“ ist ein Ereignis, das den Typ „streamCreated“ oder „streamDestroyed“ haben kann. Diese Ereignisse werden vom Session-Objekt ausgelöst, wenn ein anderer Client die Veröffentlichung eines Streams an einen Sitzung. Bei einem Stream eines lokalen Clients löst das Publisher-Objekt das Ereignis aus.
Beispiel – Das vom Session-Objekt ausgelöste „streamCreated“-Ereignis
Der folgende Code stellt eine Verbindung zu einer Sitzung her und richtet einen Ereignis-Listener ein, der ausgelöst wird, wenn ein von einem anderen Client veröffentlichter Stream erstellt wird:
session.on("streamCreated", function(event) {
subscriber = session.subscribe(event.stream, targetElement);
}).connect(token);
Beispiel – Das vom Session-Objekt ausgelöste „streamDestroyed“-Ereignis
Der folgende Code stellt eine Verbindung zu einer Sitzung her und richtet einen Ereignis-Listener ein, der ausgelöst wird, wenn die Streams anderer Clients enden:
session.on("streamDestroyed", function(event) {
console.log("Stream " + event.stream.name + " ended. " + event.reason);
}).connect(token);
Beispiel – Das Ereignis „streamCreated“ wird von einem Publisher-Objekt ausgelöst
Der folgende Code veröffentlicht einen Stream und fügt einen Ereignis-Listener hinzu, der ausgelöst wird, sobald das Streaming beginnt
var publisher = session.publish(targetElement)
.on("streamCreated", function(event) {
console.log("Publisher started streaming.");
});
Beispiel – Das Ereignis „streamDestroyed“ wird von einem Publisher-Objekt ausgelöst
Der folgende Code veröffentlicht einen Stream und belässt den Publisher im HTML-DOM, wenn das Streaming beendet wird:
var publisher = session.publish(targetElement)
.on("streamDestroyed", function(event) {
event.preventDefault();
console.log("Publisher stopped streaming.");
});
Eigenschaften
| Name | Typ | Beschreibung |
|---|---|---|
cancelable |
Boolesche | Ob das Ereignis ein Standardverhalten aufweist, das abgebrochen werden kann (true) oder nicht (false). Sie können das Standardverhalten aufheben, indem Sie die Funktion preventDefault() Methode des StreamEvent-Objekts in der Ereignisbehandlungsfunktion. Die streamDestroyed Die Veranstaltung kann abgesagt werden. (Siehe preventDefault().) |
reason |
Zeichenfolge | Für eine streamDestroyed Ereignis, eine Beschreibung, warum der Stream zerstört wurde. Diese Eigenschaft kann einen der folgenden Werte annehmen: - "clientDisconnected" — Ein Client hat die Verbindung zur Sitzung durch Aufruf der disconnect() Methode des Session-Objekts oder durch Schließen des Browsers. (Siehe Session.disconnect().) – "forceDisconnected" — Ein Moderator hat den Ersteller des Streams aus der Sitzung ausgeschlossen, indem er den Befehl forceDisconnect() Methode des Session-Objekts. (Siehe Session.forceDisconnect().) – "forceUnpublished" — Ein Moderator hat den Betreiber des Streams dazu gezwungen, die Übertragung einzustellen, indem er den forceUnpublish() Methode des Session-Objekts. (Siehe Session.forceUnpublish().) – "mediaStopped" — Der Nutzer, der den Stream veröffentlicht, hat die Freigabe von Medien beendet. Beispielsweise hat der Benutzer das Fenster geschlossen, das als Quelle für einen Bildschirmfreigabestream dient. Oder der Benutzer hat ein Mikrofon getrennt, das als Audioquelle für einen reinen Audiostream diente. Oder die Video- und Audioquellen sind „MediaStreamTrack“-Elemente, und die Quellen der Medien wurden angehalten oder zerstört. - "networkDisconnected" — Die Netzwerkverbindung wurde abrupt unterbrochen (beispielsweise weil der Client seine Internetverbindung verloren hat) und von der Vonage Video API-Plattform erkannt. - "reset" — Der Stream eines Publishers wurde als Reaktion auf einen Aufruf an dessen Publisher.destroy() Methode. - "serverRotation" — Der Publisher-Stream wurde zerstört, da die Verbindung des Clients zur Sitzung aufgrund von Rotation der Video API-Server. Je nach Kontext kann diese Beschreibung es dem Entwickler ermöglichen, seine Vorgehensweise als Reaktion auf ein Ereignis anzupassen. Für eine streamCreated Ereignis: Diese Zeichenfolge ist nicht definiert. |
stream |
Stream | Ein Stream-Objekt, das dem hinzugefügten Stream entspricht (im Falle eines streamCreated Ereignis) oder gelöscht (im Falle eines streamDestroyed Veranstaltung). |
streams |
Array | Veraltet. Verwenden Sie stattdessen das stream Eigenschaft. A streamCreated oder streamDestroyed Für jeden hinzugefügten oder entfernten Stream wird ein Ereignis ausgelöst. |
Methoden
| Name | Beschreibung |
|---|---|
isDefaultPrevented() → {Boolean} |
Ob das Standardverhalten des Ereignisses durch einen Aufruf von preventDefault() (true) oder nicht (false). |
preventDefault() |
Verhindert, dass das mit dem Ereignis verbundene Standardverhalten ausgeführt wird. |
isDefaultPrevented() → {Boolean}
Ob das Standardverhalten des Ereignisses durch einen Aufruf von
preventDefault() (true) oder nicht (false).
Siehe preventDefault().
Rückgabe:
preventDefault()
Verhindert, dass das mit dem Ereignis verbundene Standardverhalten ausgeführt wird.
Für die streamDestroyed Ereignis, das vom Session-Objekt ausgelöst wird,
wird standardmäßig das Abonnement aller Subscriber-Objekte, die den Stream abonniert haben,
aufgehoben und diese 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 Subscriber-Objekte mithilfe Ihres
eigenen Codes bereinigen. Siehe
Session.getSubscribersForStream().
Für die streamDestroyed Wenn ein Ereignis von einem Publisher-Objekt ausgelöst wird, wird das Publisher-Objekt standardmäßig
aus dem HTML-DOM entfernt. Das Publisher-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
den Publisher zur Wiederverwendung beibehalten oder ihn mithilfe Ihres eigenen Codes bereinigen.
Um festzustellen, ob ein Ereignis ein Standardverhalten aufweist, überprüfen Sie die cancelable Eigenschaft
des Ereignisobjekts.
Rufen Sie die preventDefault() Methode in der Ereignisbehandlungsfunktion für das Ereignis.