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

MAUI Blazor App中Microsoft.CognitiveServices.Speech关键词识别加载自定义table报错

语音关键词识别服务读取模型文件失败(错误码SPXERR_FILE_OPEN_FAILED)

我正在搭建简易语音关键词监听服务,使用Microsoft.CognitiveServices.Speech 1.24.1版本并遵循官方文档操作,但加载KeywordRecognitionModel时触发错误,错误码为0x8 (SPXERR_FILE_OPEN_FAILED)。已确认文件路径可访问,先后尝试相对路径与绝对路径,问题仍未解决。

代码实现

using Microsoft.CognitiveServices.Speech;
using Microsoft.CognitiveServices.Speech.Audio;

namespace HandyCook.Services
{
    internal class KeyWordRecognizerService
    {
        public KeyWordRecognizerService()
        {
            StartRecognizing();
        }

        private async void StartRecognizing()
        {
            var audioConfig = AudioConfig.FromDefaultMicrophoneInput();
            var recognizer = new KeywordRecognizer(audioConfig);
            recognizer.Recognized += (s, e) =>
            {
                Console.WriteLine($"{e.Result.Text} DETECTED");
            };

            // 此处可正常打开文件,验证路径可访问
            var stream = await FileSystem.Current.OpenAppPackageFileAsync("XXX.table");

            // 在此处触发异常:SPXERR_FILE_OPEN_FAILED
            var keywordModel = KeywordRecognitionModel.FromFile(Path.Combine(FileSystem.Current.AppDataDirectory, "XXX.table"));
            var result = recognizer.RecognizeOnceAsync(keywordModel);
            result.Wait();
        }
    }
}

复现步骤

  • 创建新的MAUI Blazor应用
  • 安装NuGet包Microsoft.CognitiveServices.Speech 1.24.1
  • 在MauiProgram中将KeyWordRecognizerService注册为单例服务
  • 在Index.razor页面注入该服务

补充信息

  • 解决方案资源管理器显示,XXX.table文件已添加至项目的Resources/Raw目录中
  • 使用自定义的XXX.table关键词模型文件

内容的提问来源于stack exchange,提问作者Oskar Bzdoń

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.14 04:10:28