Ich implementiere einen Videokonferenzraum, in dem ein Benutzer eine Videokonferenz erstellen und andere Benutzer einladen kann.
Jetzt möchte ich sicherstellen, dass der Benutzer der Konferenz nicht beitreten kann, bis der Organisator den Raum öffnet.
Ich habe den folgenden Code, aber es funktioniert nicht. Der Organisator der Besprechung kann den Raum öffnen, aber wenn Benutzer auf "Konferenz beitreten" klicken, tritt er nicht bei.
%Vor%Es scheint, dass Sie hier 3 Probleme haben.
1) Zunächst denke ich, dass Sie nicht nur ein RTCMultiConnection-Objekt zum Öffnen und Verbinden eines Raums verwenden können. Sie müssen 2 separate Objekte erstellen. Ihr Code sollte jedoch nicht im selben Fenster zum Öffnen und Verbinden des Raums ausgeführt werden. Es ist also kein Problem, wenn Sie es einmal in einem Fenster ausführen, um den Raum zu öffnen, und in einem anderen Fenster, um es zu verbinden.
In diesem Fall haben Sie ein wichtigeres Problem. Ihre Variable room_status wird auf 1 gesetzt, wenn Sie den Raum in einem Fenster öffnen. Aber im anderen Fenster ist room_status immer noch gleich 0, also rufen Sie den Code nicht innerhalb von if () in $ ('# join-room') auf. Click function.
Es ist keine große Sache, vorerst wollen wir die if-Anweisung löschen, um sicher zu sein, dass Ihr Code ausgeführt wird (und lesen Sie meinen Punkt 3 für Ihr ursprüngliches Ziel).
2) Ich schaue auf das einfache Beispiel, das auf Ссылка angegeben ist: Ссылка und es scheint, dass Sie verbinden und nicht verbinden sollten. Und vor allem sollten Sie eine Kanal-ID und eine Raum-ID verwenden, um 2 Benutzer verbinden zu können.
Also ändere ich den Code etwas und es scheint gut zu funktionieren:
%Vor%Der Rest des Codes bleibt unverändert.
Ich habe einen groben Arbeitscode in ein JSFiddle geschrieben: Ссылка
3) Jetzt haben Sie noch das Problem: Wie Sie sicher sein können, dass der Raum vorher geöffnet ist, um sich ihm anschließen zu können. Ich denke du kannst dafür die ROOM ID benutzen. Wenn ein Benutzer einen neuen Raum öffnet, sollten Sie eine ROOM ID generieren. Jetzt müssen Sie diese ROOM-ID an Ihren Tischbenutzer senden (abhängig von der Anwendungsarchitektur durch Serverkommunikation oder auf andere Weise). Und da der Joiner-Benutzer keine ROOM-ID hat, können Sie die Join-Schaltfläche deaktivieren.
Es ist nur ein Anhaltspunkt, das hängt von Ihrer gesamten Anwendungsarchitektur ab.
Tags und Links javascript jquery webrtc