Created
February 7, 2025 02:10
-
-
Save Jason446620/16d8f662cccd145995947bdff39bf765 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
peer.on("signal", (data) => { | |
console.log("๐น Peer generated signal data:", data); | |
if (isInitiator) { | |
console.log("๐น [Initiator] Generating OFFER:", JSON.stringify(data)); | |
hubConnection.invoke("SendOffer", streamId, JSON.stringify(data)) | |
.then(() => console.log("โ [Initiator] Offer sent successfully.")) | |
.catch((err) => console.error("โ [Initiator] Error sending Offer:", err)); | |
} else { | |
console.log("๐น [Receiver] Generating ANSWER:", JSON.stringify(data)); | |
hubConnection.invoke("SendAnswer", streamId, JSON.stringify(data)) | |
.then(() => console.log("โ [Receiver] Answer sent successfully.")) | |
.catch((err) => console.error("โ [Receiver] Error sending Answer:", err)); | |
} | |
}); | |
hubConnection.on("ReceiveOffer", async (offer) => { | |
console.log("๐น [Receiver] Received OFFER:", offer); | |
if (!peer) { | |
console.log("๐น [Receiver] Initializing peer connection..."); | |
await startStreaming(); // Wait for peer initialization | |
} | |
if (peer) { | |
console.log("๐น [Receiver] Applying OFFER..."); | |
peer.signal(JSON.parse(offer)); | |
} else { | |
console.error("โ [Receiver] Peer object is NULL while processing offer."); | |
} | |
}); | |
async function startStreaming() { | |
console.log("๐น Requesting user media..."); | |
try { | |
const stream = await navigator.mediaDevices.getUserMedia({ video: true, audio: true }); | |
console.log("โ Local video stream received:", stream); | |
document.getElementById("localVideo").srcObject = stream; | |
if (peer) peer.destroy(); | |
peer = new SimplePeer({ | |
initiator: isInitiator, | |
trickle: false, | |
stream: stream // Attach local stream | |
}); | |
// Handle remote stream | |
peer.on("stream", (remoteStream) => { | |
console.log("โ Remote stream received:", remoteStream); | |
document.getElementById("remoteVideo").srcObject = remoteStream; | |
}); | |
// [Rest of your peer event handlers...] | |
} catch (error) { | |
console.error("โ Error accessing media devices:", error); | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment