nice blob types and all
This commit is contained in:
@@ -278,18 +278,22 @@ export function TerminalProvider({ children }: { children?: React.ReactNode }) {
|
|||||||
player.autoplay = true;
|
player.autoplay = true;
|
||||||
|
|
||||||
try {
|
try {
|
||||||
const downloadUrl = await uploadAudioClip(`${user.uid}-${new Date().valueOf()}`, blob);
|
// ?should I send blob or first audio chunk in array?
|
||||||
|
const downloadUrl = await uploadAudioClip(
|
||||||
|
`${user.uid}-${new Date().valueOf()}`,
|
||||||
|
audioChunks[0],
|
||||||
|
);
|
||||||
|
|
||||||
const audioClip = new AudioClip(user.uid, downloadUrl);
|
const audioClip = new AudioClip(user.uid, downloadUrl);
|
||||||
await sendAudioClipToConversation(audioClip, selectedConversation.id);
|
await sendAudioClipToConversation(audioClip, selectedConversation.id);
|
||||||
|
|
||||||
enqueueSnackbar('clip sent!', { variant: 'success' });
|
enqueueSnackbar('clip sent!', { variant: 'success' });
|
||||||
setIsCloudDoingMagic(false);
|
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
console.error(error);
|
console.error(error);
|
||||||
enqueueSnackbar('Problem in recording clip', { variant: 'error' });
|
enqueueSnackbar('Problem in recording clip', { variant: 'error' });
|
||||||
}
|
}
|
||||||
enqueueSnackbar('clip sent!', { variant: 'success' });
|
|
||||||
|
setIsCloudDoingMagic(false);
|
||||||
}, [user.uid, setIsCloudDoingMagic, enqueueSnackbar, selectedConversation?.id]);
|
}, [user.uid, setIsCloudDoingMagic, enqueueSnackbar, selectedConversation?.id]);
|
||||||
|
|
||||||
const handleAskForMicrophonePermissions = useCallback(() => {
|
const handleAskForMicrophonePermissions = useCallback(() => {
|
||||||
@@ -327,6 +331,7 @@ export function TerminalProvider({ children }: { children?: React.ReactNode }) {
|
|||||||
const handleBroadcast = useCallback(() => {
|
const handleBroadcast = useCallback(() => {
|
||||||
if (!selectedConversationId) {
|
if (!selectedConversationId) {
|
||||||
enqueueSnackbar('You must select a conversation first!!!', { variant: 'warning' });
|
enqueueSnackbar('You must select a conversation first!!!', { variant: 'warning' });
|
||||||
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!userAudioStream) {
|
if (!userAudioStream) {
|
||||||
|
|||||||
@@ -6,12 +6,16 @@ export const uploadAudioClip = async (uniqueFileName: string, blob: Blob) => {
|
|||||||
try {
|
try {
|
||||||
const audioClipsRef = ref(storage, `audioClips/${uniqueFileName}`);
|
const audioClipsRef = ref(storage, `audioClips/${uniqueFileName}`);
|
||||||
|
|
||||||
|
const metadata = {
|
||||||
|
contentType: blob.type,
|
||||||
|
};
|
||||||
|
|
||||||
// 'file' comes from the Blob or File API
|
// 'file' comes from the Blob or File API
|
||||||
const snapshot = await uploadBytes(audioClipsRef, blob);
|
const snapshot = await uploadBytes(audioClipsRef, blob, metadata);
|
||||||
|
|
||||||
return await getDownloadURL(audioClipsRef);
|
return await getDownloadURL(audioClipsRef);
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
console.warn('problem in uploading audio clip');
|
console.warn(error);
|
||||||
|
|
||||||
throw Error('problem in uploading audio clip');
|
throw Error('problem in uploading audio clip');
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user