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

Web Speech API语音识别移动端不返回多候选结果问题求助

Web Speech API Speech Recognition移动端maxAlternatives配置不生效问题

我在Web应用中实现Web Speech API的Speech Recognition功能,使用以下参数配置:

vSearch = new webkitSpeechRecognition();
vSearch.continuous = false;
vSearch.interimResults = false;
vSearch.maxAlternatives = 5
vSearch.lang = 'en-US';

该配置在桌面端和移动端Chrome中均可运行,但存在一处差异:桌面端返回的结果列表中SpeechRecognitionAlternative数组通常包含多个条目(符合预期),但移动端始终仅返回1个条目,似乎vSearch.maxAlternatives = 5的配置未生效。

我还发现,将手机开启飞行模式后再测试,移动端会像桌面端一样返回多个候选结果。这似乎表明API默认采用在线调用,但在线调用时未传递maxAlternatives参数。

我未找到相关文档描述此行为,因此想咨询是否有开发者遇到过类似问题,盼解答。

最小复现示例

请在同一浏览器的桌面端和移动端运行以下代码片段:

JavaScript代码

const vSearch = new webkitSpeechRecognition();
vSearch.continuous = false;
vSearch.interimResults = false;
vSearch.maxAlternatives = 5;
vSearch.lang = "en-US";
vSearch.onresult = (result) => {
    console.log(result) 
}

vSearch.onstart = () => {
document.getElementById("listening").innerHTML = "listening"

}
vSearch.onend = () => {
document.getElementById("listening").innerHTML = "Not listening"

}

function testSpeech(){
    vSearch.start()
}

HTML代码

<html>
    <body>
        <button onclick="testSpeech()">Test Speech</button>
        <div id="listening">Not listening</div>
    </body>
</html>

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.01 11:20:09