fix: 关闭摄像头后文本输入不再发送图像数据
修复了用户关闭摄像头后,使用文本输入时 AI 仍会分析黑色画面的问题。 变更: - sendTextMessage: 只在摄像头开启时捕获画面 - 待发消息队列: 根据摄像头状态决定是否携带画面 效果: - 摄像头关闭时纯文本对话,不提及画面 - 节省 token 消耗和网络带宽 Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
@@ -137,7 +137,8 @@ export function useVisionSession(accessToken?: string | null, conversationId?: s
|
||||
const pending = pendingMessagesRef.current;
|
||||
pendingMessagesRef.current = [];
|
||||
for (const msg of pending) {
|
||||
const frame = captureFrame();
|
||||
// 只在摄像头开启时才捕获画面,避免发送黑屏给 AI
|
||||
const frame = isCameraOn ? captureFrame() : null;
|
||||
send({
|
||||
type: "query",
|
||||
request_id: msg.requestId,
|
||||
@@ -438,7 +439,8 @@ export function useVisionSession(accessToken?: string | null, conversationId?: s
|
||||
}
|
||||
|
||||
// 已连接:直接发送
|
||||
const frame = captureFrame();
|
||||
// 只在摄像头开启时才捕获画面,避免发送黑屏给 AI
|
||||
const frame = isCameraOn ? captureFrame() : null;
|
||||
send({
|
||||
type: "query",
|
||||
request_id: requestId,
|
||||
@@ -458,7 +460,7 @@ export function useVisionSession(accessToken?: string | null, conversationId?: s
|
||||
|
||||
setIsProcessing(true);
|
||||
},
|
||||
[captureFrame, send, connect, accessToken],
|
||||
[captureFrame, send, connect, accessToken, isCameraOn],
|
||||
);
|
||||
|
||||
return {
|
||||
|
||||
Reference in New Issue
Block a user