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

如何在Hololens 2中禁用全局语音命令并保留自定义语音指令

实现方案说明

HoloLens 2没有公开的一键禁用全部系统全局语音命令的配置项,但可以通过两种路径实现“保留自定义语音指令、拦截系统默认语音触发”的需求:


方案1:申请独占式语音识别权限(推荐)

通过调用UWP原生语音API申请独占识别权限,申请后系统级语音服务会被暂时拦截,仅应用内注册的自定义语音指令会被响应。
具体实现步骤:

  • 首先在Unity的Player设置中,开启麦克风、语音识别权限,UWP功能声明勾选「Internet(Client)」「麦克风」「语音识别」。
  • 在应用启动入口脚本中添加独占识别初始化逻辑,示例代码如下:
#if WINDOWS_UWP
using Windows.Media.SpeechRecognition;
#endif

private SpeechRecognizer exclusiveRecognizer;

async void InitSpeechPermission()
{
#if WINDOWS_UWP
    exclusiveRecognizer = new SpeechRecognizer();
    // 声明独占模式约束,优先级高于系统语音服务
    exclusiveRecognizer.Constraints.Add(new SpeechRecognitionSystemConstraint(SpeechRecognitionSystemConstraintType.ExclusiveMode));
    var compileRes = await exclusiveRecognizer.CompileConstraintsAsync();
    if (compileRes.Status == SpeechRecognitionResultStatus.Success)
    {
        await exclusiveRecognizer.StartAsync();
    }
#endif
}
  • 需在应用退后台/关闭时调用StopAsync()释放独占权限,避免用户退出应用后系统语音功能失效。

方案2:MRTK语音配置优先级调整

如果不想调用原生UWP API,可以通过调整MRTK语音配置实现拦截:

  • 打开MRTK配置文件,找到Input > Speech Input Profile(MRTK3路径为MRTK Profile > Input > Speech Interactions)。
  • 将所有自定义语音指令的Confidence Level调整为Low,降低识别门槛,确保应用优先捕获语音指令。
  • 主动在MRTK语音指令列表中注册和系统重复的短语(比如“拍照”“录制视频”),绑定空回调函数,这类语音触发后会被应用优先消费,不会传递到系统层。
  • 注意该方案无法100%拦截所有系统指令,极端场景下可能出现漏拦截的情况,优先选择方案1。

注意事项

两种方案仅在应用处于前台运行时生效,应用退后台后系统会自动恢复全局语音权限,属于系统级限制无法绕过。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.05 16:18:04