feat: Supports text output and sound output #1877 (#2436)

### What problem does this PR solve?

feat: Supports text output and sound output #1877

### Type of change

- [x] New Feature (non-breaking change which adds functionality)
This commit is contained in:
balibabu
2024-09-14 15:58:02 +08:00
committed by GitHub
parent deeb950e1c
commit b12a437a30
4 changed files with 14 additions and 20 deletions

View File

@ -3,6 +3,7 @@ import { useSetModalState } from '@/hooks/common-hooks';
import { IRemoveMessageById, useSpeechWithSse } from '@/hooks/logic-hooks';
import { IFeedbackRequestBody } from '@/interfaces/request/chat';
import { getMessagePureId } from '@/utils/chat';
import { hexStringToUint8Array } from '@/utils/common-util';
import { SpeechPlayer } from 'openai-speech-stream-player';
import { useCallback, useEffect, useRef, useState } from 'react';
@ -94,14 +95,14 @@ export const useSpeech = (content: string, audioBinary?: string) => {
}
}, [setIsPlaying, speech, isPlaying, pause]);
// useEffect(() => {
// if (audioBinary) {
// const units = hexStringToUint8Array(audioBinary);
// if (units) {
// player.current?.feed(units);
// }
// }
// }, [audioBinary]);
useEffect(() => {
if (audioBinary) {
const units = hexStringToUint8Array(audioBinary);
if (units) {
player.current?.feed(units);
}
}
}, [audioBinary]);
useEffect(() => {
initialize();