From: Enrique Hernandez Date: Sun, 31 Jan 2021 23:36:22 +0000 (-0600) Subject: add mediaStream composable X-Git-Tag: v0.9~115^2 X-Git-Url: https://andrewgundersen.net/repos?a=commitdiff_plain;h=1d3e2f2a54f454c0a9f3df8a9995771d8f84002e;p=mime-chat add mediaStream composable --- diff --git a/src/components/taInput/inputController.ts b/src/components/taInput/inputController.ts index f1623d1..6ff7117 100644 --- a/src/components/taInput/inputController.ts +++ b/src/components/taInput/inputController.ts @@ -2,7 +2,7 @@ import { ref, watch, onUnmounted, onMounted } from "vue"; import useKeyDownHandler from "@/composables/keyDownHandler/useKeyDownHandler"; -import useMediaStream from "@/utils/mediaStream/useMediaStream"; +import useMediaStream from "@/composables/mediaStream"; import useAudioVisualizer from './audioDetails/audioVisualizer'; @@ -49,7 +49,7 @@ export default function useInputController() { // get stream & initialize recorder object on mount onMounted(async () => { - stream = await useMediaStream(); + stream = await useMediaStream({ audio: true }); }) // determine whether to render text or audio based one the keyboard input diff --git a/src/composables/mediaStream.ts b/src/composables/mediaStream.ts index 0319778..afc0dc5 100644 --- a/src/composables/mediaStream.ts +++ b/src/composables/mediaStream.ts @@ -1,6 +1,13 @@ -export default async function useMediaStream() { - const stream = await navigator.mediaDevices.getUserMedia({ audio: true }); - // var audioTrack = stream.getAudioTracks()[0]; +export default async function useMediaStream(constraints: { + audio: boolean; + video?: boolean; +}): Promise { + try { + const stream = await navigator.mediaDevices.getUserMedia(constraints); + return stream; + } catch (e) { + return e; + } + // var audioTack = stream.getAudioTracks()[0]; // console.log(audioTrack.getSettings()) - return stream; -} \ No newline at end of file +} diff --git a/src/utils/mediaStream/useMediaStream.ts b/src/utils/mediaStream/useMediaStream.ts deleted file mode 100644 index 0319778..0000000 --- a/src/utils/mediaStream/useMediaStream.ts +++ /dev/null @@ -1,6 +0,0 @@ -export default async function useMediaStream() { - const stream = await navigator.mediaDevices.getUserMedia({ audio: true }); - // var audioTrack = stream.getAudioTracks()[0]; - // console.log(audioTrack.getSettings()) - return stream; -} \ No newline at end of file