讲师中心 微信公众号
AI工具推荐 视频效率加速

C#怎么实现简单的语音识别功能_C#如何调用系统语音库【实战】

小浩姑娘_7197

小浩姑娘_7197

发布时间:2026-03-17 13:46:41

|

799人浏览过

|

来源于php中文网

原创

能用,但仅限.NET Framework桌面应用,需手动启用系统中文语音引擎,且仅支持WinForms/WPF有UI线程的场景;SpeechRecognizer因属WinRT API,需.NET 5+配Windows SDK及对应TargetFramework;语言文化标识必须严格匹配系统安装的zh-CN引擎,否则识别失败或返回空/乱码。

c#怎么实现简单的语音识别功能_c#如何调用系统语音库【实战】

Windows 10/11 上用 SpeechRecognitionEngine 识别中文语音行不行?

能用,但只适用于桌面 .NET Framework(不是 .NET Core/.NET 5+),且系统必须装了对应语言的语音识别引擎。Windows 自带的中文(简体)语音识别引擎默认不启用,得手动打开。

  • 控制面板 → 时钟和区域 → 语言 → 添加语言 → 搜索“中文(简体)”→ 勾选“语音识别”组件(不是“文本转语音”)
  • SpeechRecognitionEngine 不支持后台服务或 UWP 应用,只能跑在有 UI 线程的 WinForms/WPF 进程里
  • 识别准确率对口音、背景噪音敏感,纯静音环境 + 普通话标准语速效果尚可;一旦有键盘声或空调声,RecognizeAsync() 很容易返回 SpeechRecognitionRejected

为什么 SpeechRecognizer(UWP)在普通 C# 桌面项目里编译不过?

因为它是 Windows Runtime API,只暴露给 UWP、WinUI 3 或启用了 Windows SDK 的 .NET 5+ 桌面项目,传统 .NET Framework 或没配 SDK 的 .NET 6+ 项目直接引用会报错:The type or namespace name 'SpeechRecognizer' could not be found。

  • 若坚持用新 API:项目 SDK 必须是 Microsoft.NET.Sdk.WindowsDesktop,且 TargetFramework 设为 net6.0-windows10.0.19041.0 或更高
  • 需要在项目文件中显式添加 <targetplatformminversion>10.0.19041.0</targetplatformminversion>
  • 运行时依赖用户开启“语音识别”系统功能(设置 → 隐私 → 语音、墨迹书写和键入 → 开启“在线语音识别”)

SpeechRecognitionResult.Text 返回空或乱码?常见原因和检查点

不是代码写错了,大概率是语言模型没对齐——SpeechRecognitionEngine 和 SpeechRecognizer 都要求加载的 Culture 必须和系统安装的语言包、语音引擎语言严格一致。

C#
C#

"避开 C# 常见错误——空陷阱、异步陷阱、LINQ 陷阱及资源泄漏。"

下载
  • 查系统已安装语言:PowerShell 运行 Get-WinUserLanguageList,确认输出中有 zh-CN
  • 创建引擎时传错 culture:new SpeechRecognitionEngine(new CultureInfo("zh-CN")) 是对的;传 "zh" 或 "zh-Hans" 会静默失败
  • 若用语法文件(Grammar),确保 XML 中 lang="zh-CN" 属性存在且匹配
  • 部分 OEM 系统(如某些国行笔记本)预装的是“中文(繁体)”引擎,此时即使界面是简体,也得用 new CultureInfo("zh-TW")

有没有更轻量、跨平台的替代方案?

没有真正意义上的“C# 跨平台语音识别库”。所有靠谱方案都绕不开调用系统原生能力或云 API:

  • 想避开 Windows 依赖?用 Process.Start("cmd", "/c speech-to-text.exe ...") 调用 Python 的 speech_recognition 库(需本地装 Python + PyAudio + Whisper.cpp)
  • 接受网络请求?调用 Azure Cognitive Services 的 Speech SDK(Microsoft.CognitiveServices.Speech NuGet 包),它支持 .NET 5+,但每次识别都走 HTTPS,离线不可用
  • 别碰 System.Speech 在 .NET Core 上的“兼容层”——微软已明确标记为废弃,SpeechRecognitionEngine 在 .NET 5+ 中无法实例化

实际部署时最容易被忽略的是权限和后台策略:企业域环境下,组策略可能禁用语音识别;Win11 家庭版默认关闭语音服务;杀毒软件有时会拦截 srsvc.dll 加载——这些都不会报具体异常,只会让 RecognizeAsync() 卡住或立刻结束。

热门AI工具

更多
WorkBuddy

一款AI办公效率工具,主要用于腾讯云推出的AI原生桌面智能体工作台,适合需要提升相关任务效率的用户。

讯飞智文

一款面向学习和办公场景的AI文档创作工具,可辅助生成PPT与Word文档,提高资料整理和内容制作效率。

DeepSeek

DeepSeek是一款面向对话、写作、编程和推理场景的AI大模型工具。

花生AI
花生AI Hot

一款AI视频创作工具,主要用于B站推出的AI视频创作工具,适合需要提升相关任务效率的用户。

Laper
Laper Hot

Laper是专为编剧、导演和制片人推出的 AI 原生剧本创作工具。

PixTV
PixTV Hot

PixTV是一款面向AIGC内容创作的AI视频生成工具。

豆包大模型

豆包大模型是一款由字节跳动推出的企业级大语言模型服务平台。

UP简历
UP简历 Hot

一款AI办公效率工具,主要用于基于AI技术的免费在线简历制作工具,适合需要提升相关任务效率的用户。

切问学术

切问学术是一款AI论文写作工具,复旦大学NLP团队推出的AI学术智能体。

相关专题

更多
c#是什么意思
c#是什么意思

C#是一种通用的面向对象编程语言,它在.NET框架上运行,可用于开发各种类型的应用程序。本专题为大家提供c#相关的各种文章、以及下载和课程。

1132

2023.08.08

什么是c#
什么是c#

C#(读作C Sharp)是一种现代的、通用的、面向对象的编程语言。它由微软公司开发,于2000年首次发布,主要用于开发Windows桌面应用程序、Web应用程序、移动应用程序以及游戏开发等领域。C#是一种类型安全和托管的编程语言,它结合了C++的强大性能和C语言的简单易学特点,并引入了许多新的特性和概念,如委托、属性、泛型和异步编程等,以提高开发效率和代码可维护性。

3351

2023.08.31

C#中base关键字的用法
C#中base关键字的用法

在C#中,base关键字用于访问当前类的基类成员,这包括基类的字段、属性、方法、构造函数、索引器以及事件。想了解更多C#的相关内容,可以阅读本专题下面的文章。

945

2024.03.13

C#Task用法
C#Task用法

Task在C#中是用于表示异步操作的对象,它位于System.Threading.Tasks命名空间中。想了解更多C#中各种用法的相关内容,可以阅读本专题下面的文章。

2655

2024.03.14

C# 并发与异步编程
C# 并发与异步编程

本专题系统讲解 C# 异步编程与并发控制,重点介绍 async 和 await 关键字、Task 类、线程池管理、并发数据结构、死锁与线程安全问题。通过多个实战项目,帮助学习者掌握 如何在 C# 中编写高效的异步代码,提升应用的并发性能与响应速度。

352

2026.02.03

C# 多线程与异步编程
C# 多线程与异步编程

本专题深入讲解 C# 中多线程与异步编程的核心概念与实战技巧,包括线程池管理、Task 类的使用、async/await 异步编程模式、并发控制与线程同步、死锁与竞态条件的解决方案。通过实际项目,帮助开发者掌握 如何在 C# 中构建高并发、低延迟的异步系统,提升应用性能和响应速度。

429

2026.02.06

C# ASP.NET Core微服务架构与API网关实践
C# ASP.NET Core微服务架构与API网关实践

本专题围绕 C# 在现代后端架构中的微服务实践展开,系统讲解基于 ASP.NET Core 构建可扩展服务体系的核心方法。内容涵盖服务拆分策略、RESTful API 设计、服务间通信、API 网关统一入口管理以及服务治理机制。通过真实项目案例,帮助开发者掌握构建高可用微服务系统的关键技术,提高系统的可扩展性与维护效率。

631

2026.03.11

C# Unity游戏开发与ECS架构实践
C# Unity游戏开发与ECS架构实践

本专题聚焦 C# 在 Unity 游戏开发中的应用,系统讲解 ECS(Entity-Component-System)架构设计、游戏对象管理、性能优化与内存控制策略。通过实际游戏案例,帮助开发者构建高性能、结构清晰的游戏系统,提高游戏开发效率与运行性能。

329

2026.04.13

Postman身份认证怎么配置
Postman身份认证怎么配置

本专题从实际API接口调试场景出发,讲解Postman身份认证的完整配置流程,包括常见认证协议介绍、授权参数设置、访问令牌填写、OAuth 2.0授权及认证失败排查,帮助用户正确完成接口授权与访问验证。

0

2026.11.06

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
C++ Core Guidelines
C++ Core Guidelines

共0课时 | 0人学习

C++ Reference
C++ Reference

共0课时 | 0人学习

C++ 官方标准说明
C++ 官方标准说明

共0课时 | 0人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn