@oadank/dsh-input-tools 0.3.22 → 0.3.23
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/client.js +19 -1
- package/package.json +1 -1
package/lib/client.js
CHANGED
|
@@ -284,7 +284,25 @@ window.__ModuleLoader__.load({
|
|
|
284
284
|
setRecording(true);
|
|
285
285
|
setSeconds(0);
|
|
286
286
|
timerRef.current = setInterval(() => setSeconds((s) => s + 1), 1000);
|
|
287
|
-
} catch {
|
|
287
|
+
} catch (e) {
|
|
288
|
+
// [2026-08-23 修] 原来静默失败:无麦克风的电脑点语音按钮"点了没反应",用户完全不知道为啥。
|
|
289
|
+
// 分情况给明确提示,不再吞错误。
|
|
290
|
+
const name = e && e.name ? String(e.name) : "";
|
|
291
|
+
let msg = "";
|
|
292
|
+
if (name === "NotFoundError" || name === "OverconstrainedError" || name === "DevicesNotFoundError") {
|
|
293
|
+
msg = "未检测到录音设备,请连接麦克风,或在 Windows 声音设置中启用「立体声混音」作为录音设备。";
|
|
294
|
+
} else if (name === "NotAllowedError" || name === "PermissionDeniedError") {
|
|
295
|
+
msg = "麦克风权限被拒绝。请点击浏览器地址栏左侧的锁/摄像头图标,允许本站使用麦克风后重试。";
|
|
296
|
+
} else if (name === "NotReadableError" || name === "TrackStartError") {
|
|
297
|
+
msg = "麦克风被其他程序占用或不可读。请关闭正在使用麦克风的应用(如会议软件)后重试。";
|
|
298
|
+
} else if (name === "SecurityError") {
|
|
299
|
+
msg = "当前页面环境不允许访问麦克风(需要 HTTPS 或 localhost)。";
|
|
300
|
+
} else {
|
|
301
|
+
msg = "无法访问录音设备:" + (e && e.message ? e.message : String(e)) + "。请检查麦克风连接或浏览器权限。";
|
|
302
|
+
}
|
|
303
|
+
try { alert("无法开始录音\n\n" + msg); } catch { /* alert 被禁时退化为 console */ }
|
|
304
|
+
console.warn("[voice] getUserMedia failed:", e);
|
|
305
|
+
}
|
|
288
306
|
}, [connection, sessionId, sendVoiceBlob]);
|
|
289
307
|
|
|
290
308
|
// [2026-08-22] 大图自动缩放:官方限制图片宽高 ≤2000px,超出则 canvas 缩小(最长边对齐 2000px,转 jpeg)再上传
|