audio sending and all bless

This commit is contained in:
talksik
2022-03-22 17:02:47 -04:00
parent 6e9311549a
commit 0702f0f253
2 changed files with 26 additions and 8 deletions
+3
View File
@@ -5,6 +5,7 @@ import Login from "./pages/Login";
import ProtectedRoute from "./components/ProtectedRoute"; import ProtectedRoute from "./components/ProtectedRoute";
import { ReactQueryDevtools } from "react-query/devtools"; import { ReactQueryDevtools } from "react-query/devtools";
import { RecoilRoot } from "recoil"; import { RecoilRoot } from "recoil";
import { Toaster } from "react-hot-toast";
import io from "socket.io-client"; import io from "socket.io-client";
import testConnection from "@nirvana/core"; import testConnection from "@nirvana/core";
@@ -25,6 +26,8 @@ function NirvanaApp() {
</ProtectedRoute> </ProtectedRoute>
<ReactQueryDevtools initialIsOpen={true} position={"bottom-left"} /> <ReactQueryDevtools initialIsOpen={true} position={"bottom-left"} />
</RecoilRoot> </RecoilRoot>
<Toaster />
</QueryClientProvider> </QueryClientProvider>
</> </>
); );
@@ -23,6 +23,17 @@ import { useRecoilState } from "recoil";
var audioChunks: any = []; var audioChunks: any = [];
var constraints = {
audio: true,
// {
// // mandatory: {
// // chromeMediaSource: "desktop",
// // },
// autoGainControl: true,
// echoCancellation: true,
// } as MediaTrackConstraints,
};
export default function SelectedConversation() { export default function SelectedConversation() {
const [selectedConvo, setSelectedConvo] = useRecoilState( const [selectedConvo, setSelectedConvo] = useRecoilState(
$selectedConversation $selectedConversation
@@ -44,21 +55,24 @@ export default function SelectedConversation() {
// checking for permissions for recording // checking for permissions for recording
// won't work in https!!! // won't work in https!!!
navigator.mediaDevices navigator.mediaDevices
.getUserMedia({ .getUserMedia(constraints)
audio: true,
})
.then((stream) => { .then((stream) => {
const mediaRecorder = new MediaRecorder(stream); const mediaRecorder = new MediaRecorder(stream);
setMediaRecorder(mediaRecorder); setMediaRecorder(mediaRecorder);
console.log(mediaRecorder);
console.log("Permission Granted"); console.log("Permission Granted");
sethasMicPermissions(true); sethasMicPermissions(true);
}) })
.catch((e) => { .catch((e: any) => {
console.log("Permission Denied"); console.log("Permission Denied");
toast.error( toast.error(
"Please make sure that you have connected a microphone and given permissions." "Please make sure that you have connected a microphone and given permissions."
); );
console.log(e);
sethasMicPermissions(false); sethasMicPermissions(false);
}); });
} catch (error) { } catch (error) {
@@ -89,10 +103,11 @@ export default function SelectedConversation() {
audioChunks audioChunks
); );
const audioBlob = new Blob(audioChunks); // testing playing before sending off
const audioUrl = URL.createObjectURL(audioBlob); // const audioBlob = new Blob(audioChunks);
const audio = new Audio(audioUrl); // const audioUrl = URL.createObjectURL(audioBlob);
audio.play(); // const audio = new Audio(audioUrl);
// audio.play();
audioChunks = []; audioChunks = [];
}; };