Fix sending audio and video files
This commit is contained in:
parent
bdd240b4c7
commit
dfa354bf74
6 changed files with 66 additions and 65 deletions
|
|
@ -393,6 +393,7 @@ export default {
|
|||
break;
|
||||
case "image/gif":
|
||||
extension = ".gif";
|
||||
break;
|
||||
}
|
||||
|
||||
let fileName = event.getId() + extension;
|
||||
|
|
@ -407,6 +408,14 @@ export default {
|
|||
}
|
||||
} else if (mime.startsWith("audio/")) {
|
||||
var extension = ".webm";
|
||||
switch (mime) {
|
||||
case "audio/mpeg":
|
||||
extension = ".mp3";
|
||||
break;
|
||||
case "audio/x-m4a":
|
||||
extension = ".m4a";
|
||||
break;
|
||||
}
|
||||
let fileName = event.getId() + extension;
|
||||
audioFolder.file(fileName, blob); // TODO calc bytes
|
||||
let elements = comp.el.getElementsByTagName("audio");
|
||||
|
|
|
|||
|
|
@ -208,7 +208,7 @@ export default {
|
|||
if (isForExport) {
|
||||
return MessageIncomingVideoExport;
|
||||
}
|
||||
return MessageVideo;
|
||||
return MessageThread;
|
||||
} else if (event.getContent().msgtype == "m.file") {
|
||||
if (isForExport) {
|
||||
return MessageIncomingFileExport;
|
||||
|
|
@ -255,7 +255,7 @@ export default {
|
|||
if (isForExport) {
|
||||
return MessageOutgoingVideoExport;
|
||||
}
|
||||
return MessageVideo;
|
||||
return MessageThread;
|
||||
} else if (event.getContent().msgtype == "m.file") {
|
||||
if (isForExport) {
|
||||
return MessageOutgoingFileExport;
|
||||
|
|
|
|||
|
|
@ -64,7 +64,7 @@ const poster: Ref<string | undefined> = ref(undefined);
|
|||
const updateSource = () => {
|
||||
if (isEventAttachment(props.item)) {
|
||||
const eventAttachment = props.item;
|
||||
if (isVideo.value || eventAttachment.src) {
|
||||
if (eventAttachment.src) {
|
||||
source.value = eventAttachment.src;
|
||||
} else if (previewOnly) {
|
||||
eventAttachment.loadThumbnail().then((url) => {
|
||||
|
|
@ -74,6 +74,10 @@ const updateSource = () => {
|
|||
eventAttachment.loadSrc().then((url) => {
|
||||
source.value = url.data;
|
||||
})
|
||||
} else if (isVideo.value) {
|
||||
eventAttachment.loadSrc().then((url) => {
|
||||
source.value = url.data;
|
||||
})
|
||||
}
|
||||
} else if (isAttachment(props.item)) {
|
||||
const attachment = props.item;
|
||||
|
|
|
|||
|
|
@ -128,7 +128,7 @@ watch(
|
|||
event,
|
||||
() => {
|
||||
if (event.value) {
|
||||
if (event.value.getContent().msgtype == "m.image") {
|
||||
if (["m.image", "m.video"].includes(event.value.getContent().msgtype ?? "")) {
|
||||
// Single image mode
|
||||
items.value = [event.value].map((e: MatrixEvent) => {
|
||||
let ea = $matrix.attachmentManager.getEventAttachment(e);
|
||||
|
|
@ -157,14 +157,14 @@ onBeforeUnmount(() => {
|
|||
});
|
||||
|
||||
const showMessageText = computed((): boolean => {
|
||||
if (event.value?.getContent().msgtype == "m.image") {
|
||||
if (["m.image", "m.video"].includes(event.value?.getContent().msgtype ?? "")) {
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
});
|
||||
|
||||
const showMultiview = computed((): boolean => {
|
||||
if (event.value?.getContent().msgtype == "m.image") {
|
||||
if (["m.image", "m.video"].includes(event.value?.getContent().msgtype ?? "")) {
|
||||
return true;
|
||||
}
|
||||
return (
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue