diff --git a/www/app/components/CustomRecordPlugin.js b/www/app/components/CustomRecordPlugin.js index b6f4fd88..8e8cdc44 100644 --- a/www/app/components/CustomRecordPlugin.js +++ b/www/app/components/CustomRecordPlugin.js @@ -45,7 +45,7 @@ class CustomRecordPlugin extends RecordPlugin { analyser.getByteTimeDomainData(dataArray) canvasCtx.clearRect(0, 0, canvas.width, canvas.height) - canvasCtx.fillStyle = 'black' + canvasCtx.fillStyle = '#cc3347' if (previousTimeStamp === undefined) { previousTimeStamp = timeStamp diff --git a/www/app/components/record.js b/www/app/components/record.js index 3b697ad4..eb8f5912 100644 --- a/www/app/components/record.js +++ b/www/app/components/record.js @@ -7,19 +7,14 @@ import "react-dropdown/style.css"; import CustomRecordPlugin from "./CustomRecordPlugin"; -const queryAndPromptAudio = async () => { - const permissionStatus = await navigator.permissions.query({ name: 'microphone' }) - if (permissionStatus.state == 'prompt') { - await navigator.mediaDevices.getUserMedia({ audio: true }) - } -} const AudioInputsDropdown = (props) => { const [ddOptions, setDdOptions] = useState([]); useEffect(() => { const init = async () => { - await queryAndPromptAudio() + // Request permission to use audio inputs + await navigator.mediaDevices.getUserMedia({ audio: true }).then((stream) => stream.getTracks().forEach((t) => t.stop())) const devices = await navigator.mediaDevices.enumerateDevices() const audioDevices = devices @@ -62,8 +57,8 @@ export default function Recorder(props) { if (waveformRef.current) { const _wavesurfer = WaveSurfer.create({ container: waveformRef.current, - waveColor: "#cc3347", - progressColor: "#0178FFπ", + waveColor: "#777", + progressColor: "#222", cursorColor: "OrangeRed", hideScrollbar: true, autoCenter: true, @@ -95,8 +90,7 @@ export default function Recorder(props) { if (!record) return console.log("no record"); if (record?.isRecording()) { - - props.serverData.peer.send(JSON.stringify({ cmd: "STOP" })); + props.onStop(); record.stopRecording(); setIsRecording(false); document.getElementById("play-btn").disabled = false; diff --git a/www/app/components/webrtc.js b/www/app/components/webrtc.js index 41759e69..0b8e21b6 100644 --- a/www/app/components/webrtc.js +++ b/www/app/components/webrtc.js @@ -30,7 +30,7 @@ const useWebRTC = (stream, setIsRecording) => { .then((response) => response.json()) .then((answer) => peer.signal(answer)) .catch((e) => { - alert(e); + console.log("Error signaling:", e); }); } }); diff --git a/www/app/page.js b/www/app/page.js index 006be1b2..9aba71a7 100644 --- a/www/app/page.js +++ b/www/app/page.js @@ -12,6 +12,8 @@ const App = () => { // transcription, summary, etc const serverData = useWebRTC(stream, () => { }); + const sendStopCmd = () => serverData?.peer?.send(JSON.stringify({ cmd: "STOP" })) + return (
@@ -19,7 +21,7 @@ const App = () => {

Capture The Signal, Not The Noise

- +