From 117d10ffffcd0a8bb4b72e307bd3f90c7403d0cb Mon Sep 17 00:00:00 2001 From: da730 Date: Wed, 7 Feb 2024 11:11:01 +0800 Subject: [PATCH] feat: return buffer in export gif and video --- packages/vmind/__tests__/browser/src/pages/ChartPreview.tsx | 6 ++++-- packages/vmind/src/core/VMind.ts | 6 ++---- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/packages/vmind/__tests__/browser/src/pages/ChartPreview.tsx b/packages/vmind/__tests__/browser/src/pages/ChartPreview.tsx index 1ac6900f..3110b461 100644 --- a/packages/vmind/__tests__/browser/src/pages/ChartPreview.tsx +++ b/packages/vmind/__tests__/browser/src/pages/ChartPreview.tsx @@ -58,11 +58,12 @@ export function ChartPreview(props: IPropsType) { log: true }); await ffmpeg.load(); - const src = await vmind.exportVideo(spec, time, { + const data = await vmind.exportVideo(spec, time, { VChart, FFmpeg: ffmpeg, fetchFile } as any); + const src = URL.createObjectURL(new Blob([data], { type: 'video/mp4' })); setSrc(src); setOutType('video'); setGenerating(false); @@ -78,11 +79,12 @@ export function ChartPreview(props: IPropsType) { log: true }); await ffmpeg.load(); - const src = await vmind.exportGIF(spec, time, { + const data = await vmind.exportGIF(spec, time, { VChart, FFmpeg: ffmpeg, fetchFile } as any); + const src = URL.createObjectURL(new Blob([data], { type: 'video/mp4' })); setSrc(src); setOutType('gif'); setGenerating(false); diff --git a/packages/vmind/src/core/VMind.ts b/packages/vmind/src/core/VMind.ts index dcb8f11a..4982e598 100644 --- a/packages/vmind/src/core/VMind.ts +++ b/packages/vmind/src/core/VMind.ts @@ -101,8 +101,7 @@ class VMind { const outName = `out`; await _chatToVideoWasm(VChart, FFmpeg, fetchFile, this._FPS, spec, time, outName); const data = FFmpeg.FS('readFile', `${outName}.mp4`); - const objUrl = URL.createObjectURL(new Blob([data.buffer], { type: 'video/mp4' })); - return objUrl; + return data.buffer; } async exportGIF(spec: any, time: TimeType, outerPackages: OuterPackages) { @@ -121,8 +120,7 @@ class VMind { 'out.gif' ); const data = FFmpeg.FS('readFile', 'out.gif'); - const objUrl = URL.createObjectURL(new Blob([data.buffer], { type: 'video/mp4' })); - return objUrl; + return data.buffer; } }