Stap 4: Voorbereiding voor ontvangen van gesprekken
Om te beginnen te vergemakkelijken van video-oproepen, moet u een publiceren en abonneren sleutel. Als u uw pub/sub-sleutels, moet u eerst aan te melden voor een PubNub account. Zodra u zich aanmeldt, kunt u uw unieke PubNub-sleutels in het Dashboard van de ontwikkelaar van de PubNub. De gratis sandbox-laag moet geven u alle de bandbreedte die u nodig hebt om te bouwen en testen van uw WebRTC-toepassing.
Ten eerste, kunt JavaScript gebruiken om te vinden van onze video houder, waar andere bellers gezichten zal gaan.
var video_out = document.getElementById("vid-box");
Vervolgens zullen we de login-functie uitvoeren. Deze functie zal de telefoon instellen op gebruik van de gebruikersnaam die zij verstrekt als een UUID.
function login(form) { var phone = window.phone = PHONE({ number : form.username.value || "Anonymous", // listen on username line else Anonymous publish_key : 'your_pub_key', subscribe_key : 'your_sub_key', }); phone.ready(function(){ form.username.style.background="#55ff5b"; }); phone.receive(function(session){ session.connected(function(session) { video_out.appendChild(session.video); }); session.ended(function(session) { video_out.innerHTML=''; }); }); return false; // So the form does not submit. }
U kunt zien we de gebruikersnaam gebruiken zoals het telefoonnummer, en instantiëren PubNub met uw eigen publiceren en abonneren toetsen. De volgende functie, phone.ready, kunt u een retouraanroep voor definiëren wanneer de telefoon gereed is voor een gesprek. Ik gewoon de gebruikersnaam input van achtergrond te veranderen in groen, maar kunt u dit aanpassen aan uw behoeften.
De phone.receive -functie kunt u definiëren een retouraanroep die duurt een sessie als een parameter voor wanneer een oproepgebeurtenis optreedt, of dat een nieuwe oproep, een oproep hangup, of voor het verliezen van dienst, u deze gebeurtenis-handlers aan de sessies in phone.receive koppelt.
Ik heb gedefinieerd session.connected die wordt aangeroepen na het ontvangen van een telefoontje, en wanneer u bent klaar om te beginnen voor video-chatten. Ik gewoon de sessie stream toegevoegd aan onze video div.
Vervolgens, ik definiëren session.ended die heet na het aanroepen van phone.hangup. Dit is waar u einde afroep logica. Ik schakel gewoon de video houder innerHTML.