From 71e5df5dac5db1efd0780e83b3edd1bbff04b95c Mon Sep 17 00:00:00 2001 From: Koper Date: Thu, 20 Jul 2023 15:54:28 +0700 Subject: [PATCH] Stop command --- app/components/webrtc.js | 5 ++++- app/page.js | 9 +++------ 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/app/components/webrtc.js b/app/components/webrtc.js index 88fd2b7b..c81f2336 100644 --- a/app/components/webrtc.js +++ b/app/components/webrtc.js @@ -4,7 +4,9 @@ import Peer from "simple-peer"; const WebRTC_SERVER_URL = "http://127.0.0.1:1250/offer"; const useWebRTC = (stream, setIsRecording) => { - const [data, setData] = useState({}); + const [data, setData] = useState({ + peer: null, + }); useEffect(() => { if (!stream) { @@ -35,6 +37,7 @@ const useWebRTC = (stream, setIsRecording) => { peer.on("connect", () => { console.log("WebRTC connected"); + setData(prevData => ({ ...prevData, peer: peer })); }); peer.on("data", (data) => { diff --git a/app/page.js b/app/page.js index b104eb03..1aaf9b6c 100644 --- a/app/page.js +++ b/app/page.js @@ -19,15 +19,12 @@ const App = () => { .getUserMedia({ audio: true }) .then(setStream) .catch((err) => console.error(err)); - } else if (!recording) { - if (stream) { - const tracks = stream.getTracks(); - tracks.forEach((track) => track.stop()); - setStream(null); - } + } else if (!recording && serverData.peer) { + serverData.peer.send(JSON.stringify({ cmd: 'STOP' })); } }; + const serverData = useWebRTC(stream, setIsRecording); return (