From 1d3e2f2a54f454c0a9f3df8a9995771d8f84002e Mon Sep 17 00:00:00 2001 From: Enrique Hernandez Date: Sun, 31 Jan 2021 17:36:22 -0600 Subject: [PATCH] add mediaStream composable --- src/components/taInput/inputController.ts | 4 ++-- src/composables/mediaStream.ts | 17 ++++++++++++----- src/utils/mediaStream/useMediaStream.ts | 6 ------ 3 files changed, 14 insertions(+), 13 deletions(-) delete mode 100644 src/utils/mediaStream/useMediaStream.ts 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 -- 2.43.0