자동 연속 녹음 중지
자동 연속 녹음 루프를 중단합니다. 현재 녹음 중인 내용은 전송하지 않고 폐기됩니다.
메서드
stopAutoRecording()
자동 연속 녹음 루프를 중지합니다.
public stopAutoRecording(): void
동작 방식
- 자동 연속 녹음 루프를 즉시 중단합니다
- 현재 진행 중인 녹음 데이터는 전송하지 않고 폐기됩니다
- AI TTS 응답 대기 중이라면 해당 대기도 취소됩니다
- 녹음 상태가
idle로 초기화됩니다
사용법
JavaScript/TypeScript
import { KleverOneClient } from "@klever-one/web-sdk/core";
const client = new KleverOneClient({
apiKey: "your-api-key",
container: document.getElementById("streaming-container"),
});
await client.connect();
// 자동 연속 녹음 시작
await client.startAutoRecording();
// 대화 종료 시 중지
client.stopAutoRecording();
React Hook
"use client";
import { useRef, useEffect, useMemo, useState } from "react";
import { useKleverOneClient } from "@klever-one/web-sdk/react";
function MyComponent() {
const containerRef = useRef(null);
const [isAutoRecording, setIsAutoRecording] = useState(false);
const tempContainer = useMemo(() => {
if (typeof document !== "undefined") {
return document.createElement("div");
}
return {} as HTMLDivElement;
}, []);
const client = useKleverOneClient({
apiKey: "your-api-key",
container: containerRef.current || tempContainer,
});
useEffect(() => {
return () => {
if (client.client) {
client.disconnect();
}
};
}, [client.client]);
const handleStopAutoRecording = () => {
client.client.stopAutoRecording();
setIsAutoRecording(false);
console.log("자동 연속 녹음 중지!");
};
return (
<div>
<div
ref={containerRef}
className="h-[400px] w-[800px] bg-black"
></div>
<button
onClick={handleStopAutoRecording}
disabled={!isAutoRecording}
>
자동 녹음 중지
</button>
<p>녹음 상태: {client.state.recording}</p>
</div>
);
}
관련 기능
- 자동 연속 녹음 시작 - 자동 녹음 루프를 시작합니다
- 음성 인식 종료 - 수동 녹음 종료 후 AI에게 전송