From fe484fd38a6b4306f7a71e1c3be19ac2d18ab73f Mon Sep 17 00:00:00 2001 From: EvanWu <850123119@qq.com> Date: Thu, 31 Jul 2025 11:12:43 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E6=B7=BB=E5=8A=A0=E9=9F=B3=E9=A2=91?= =?UTF-8?q?=E4=B8=8A=E4=B8=8B=E6=96=87=E7=AE=A1=E7=90=86=EF=BC=8C=E4=BC=98?= =?UTF-8?q?=E5=8C=96=20PCM=20=E6=95=B0=E6=8D=AE=E8=BD=AC=E6=8D=A2=E4=B8=BA?= =?UTF-8?q?=20AudioBuffer=20=E7=9A=84=E5=AE=9E=E7=8E=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/client/platforms/alibaba.ts | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/app/client/platforms/alibaba.ts b/app/client/platforms/alibaba.ts index 9c2c7c972..ffa483750 100644 --- a/app/client/platforms/alibaba.ts +++ b/app/client/platforms/alibaba.ts @@ -64,6 +64,7 @@ interface RequestPayload { } export class QwenApi implements LLMApi { + private audioContext?: AudioContext; path(path: string): string { const accessStore = useAccessStore.getState(); @@ -363,8 +364,11 @@ export class QwenApi implements LLMApi { // 将 PCM 字节数据转换为 AudioBuffer private convertToAudioBuffer(pcmData: Uint8Array) { - const audioContext = new (window.AudioContext || - window.webkitAudioContext)(); + if (!this.audioContext) { + this.audioContext = new (window.AudioContext || + window.webkitAudioContext)(); + } + const audioContext = this.audioContext; const channels = 1; const sampleRate = 24000; return new Promise((resolve, reject) => {