You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

本地正常的Speech-to-text在Azure虚拟桌面遇网络问题求助

针对Azure虚拟桌面中Web Speech API网络错误的排查方案

核心问题分析

你使用的是浏览器原生webkitSpeechRecognition/SpeechRecognition API,这类API依赖云端语音识别服务(如Chrome调用谷歌语音服务),在Azure虚拟桌面(AVD)环境中出现网络错误,大概率是AVD的网络规则或音频重定向配置限制了服务访问。

具体排查步骤

  • 验证AVD出站网络是否允许访问语音服务域名
    原生Web Speech API需要连接对应厂商的云端服务,Chrome环境下需访问speech.googleapis.com等域名。在AVD虚拟机中执行以下命令测试连通性:

    curl -v https://speech.googleapis.com
    

    如果返回连接超时或拒绝,说明NSG、防火墙或代理拦截了该域名,需添加出站规则允许访问。

  • 检查AVD音频输入重定向配置
    AVD默认可能未开启麦克风重定向:

    1. 打开AVD客户端的「设备」设置,确认「麦克风」选项已设为「启用」
    2. 在AVD虚拟机中进入系统音频设置,确认能识别到「Remote Audio」麦克风设备,并设置为默认输入设备
  • 排查代理与WebSocket限制
    Web Speech API通过WebSocket传输音频数据,若AVD使用代理,需确保:

    • 浏览器已正确配置代理(自动或手动模式)
    • 代理允许WebSocket连接(目标端口通常为443)
      可在浏览器开发者工具的「Network」标签中,筛选「WS」类型,查看是否存在连接失败的请求。
  • 确认区域与语言设置匹配
    语音识别服务对区域设置敏感,AVD虚拟机的系统区域、浏览器语言需与本地环境一致:

    • 打开AVD系统设置,将区域和语言改为你本地使用的类型(如中文简体)
    • 在浏览器中设置相同的默认语言,重启后再测试功能
  • 捕获详细错误日志
    你的代码仅打印了event.error,可扩展onerror函数获取更多上下文:

    recognition.onerror = function(event) {
        console.error('Speech recognition error:', event.error);
        console.error('Error details:', event.message);
        // 同时查看Network标签内的失败请求,获取具体网络错误码
    };
    

    从开发者工具的Console和Network标签中,能得到更精准的错误原因(如DNS解析失败、CORS限制、连接超时等)。

  • 测试不同浏览器版本
    尝试在AVD中使用最新版Chrome浏览器测试,避免旧版本浏览器的API兼容性或网络逻辑问题。


内容的提问来源于stack exchange,提问作者Prakash

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.26 06:05:13