mirror of
https://github.com/ChatGPTNextWeb/ChatGPT-Next-Web.git
synced 2025-11-12 20:23:45 +08:00
feat: 添加 TTS 引擎配置,更新阿里巴巴语音接口,支持实时语音合成
This commit is contained in:
@@ -13,13 +13,17 @@ export function createTTSPlayer(): TTSPlayer {
|
||||
audioContext.suspend();
|
||||
};
|
||||
|
||||
const play = async (audioBuffer: ArrayBuffer, onended: () => void | null) => {
|
||||
const play = async (audioBuffer: ArrayBuffer | AudioBuffer, onended: () => void | null) => {
|
||||
if (audioBufferSourceNode) {
|
||||
audioBufferSourceNode.stop();
|
||||
audioBufferSourceNode.disconnect();
|
||||
}
|
||||
|
||||
const buffer = await audioContext!.decodeAudioData(audioBuffer);
|
||||
let buffer: AudioBuffer;
|
||||
if (audioBuffer instanceof AudioBuffer) {
|
||||
buffer = audioBuffer;
|
||||
} else {
|
||||
buffer = await audioContext!.decodeAudioData(audioBuffer);
|
||||
}
|
||||
audioBufferSourceNode = audioContext!.createBufferSource();
|
||||
audioBufferSourceNode.buffer = buffer;
|
||||
audioBufferSourceNode.connect(audioContext!.destination);
|
||||
@@ -42,4 +46,4 @@ export function createTTSPlayer(): TTSPlayer {
|
||||
};
|
||||
|
||||
return { init, play, stop };
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user