NET 语言识别,语音控制操作、语音播报
System.Speech.
》》System.Speech.Synthesis; 语音播报
》》System.Speech.Recognition 语音识别
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Speech.Recognition;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.Speech;
using System.Speech.Synthesis;
namespace WindowsFormsApp1
{public partial class Form2 : Form{SpeechRecognitionEngine recognitionEngine;public Form2(){recognitionEngine = new SpeechRecognitionEngine();Choices choices = new Choices();choices.Add(new string[] { "开始", "Start", "Go", "停止", "Stop", "Over" });GrammarBuilder gb = new GrammarBuilder(choices);Grammar grm = new Grammar(gb);recognitionEngine.LoadGrammarAsync(grm);//音频输入recognitionEngine.SetInputToDefaultAudioDevice();recognitionEngine.SpeechRecognized += RecognitionEngine_SpeechRecognized;InitializeComponent();}private void RecognitionEngine_SpeechRecognized(object sender, SpeechRecognizedEventArgs e){string info = e.Result.Text; switch (info){case "开始":case "Start":case "Go":richTextBox1.Text += info;break;case "停止":case "Stop":case "Over":richTextBox1.Text += info;break;}}private void Form2_Load(object sender, EventArgs e){this.btn_StopSpeek.Enabled = false;}private void btn_startSpeek_Click(object sender, EventArgs e){this.btn_StopSpeek.Enabled = true;recognitionEngine.RecognizeAsync(RecognizeMode.Multiple);this.btn_startSpeek.Enabled = false;}private void btn_StopSpeek_Click(object sender, EventArgs e){this.btn_StopSpeek.Enabled = false;recognitionEngine.RecognizeAsyncStop();this.btn_startSpeek.Enabled = true;}private void button1_Click(object sender, EventArgs e){SpeechSynthesizer sp = new SpeechSynthesizer();PromptBuilder pb = new PromptBuilder();pb.AppendText("123");sp.Speak(pb);}}
}
语言播报
SpeechSynthesizer sp = new SpeechSynthesizer(); sp.Rate = 1;//语速 -10 到 10 之间sp.Volume = 50;//音量 (0 到 100)PromptBuilder pb = new PromptBuilder();pb.AppendText("123");sp.Speak(pb);
获取语言包、异步播报、暂停、停止、继续语言播报、保存音频
》》异步播报,就是不阻塞其它操作
SpeechSynthesizer sp = new SpeechSynthesizer(); sp.Rate = 1;//语速 -10 到 10 之间sp.Volume = 50;//音量 (0 到 100)PromptBuilder pb = new PromptBuilder();pb.AppendText("1234564878564135415648145");//同步播报//sp.Speak(pb);//异步播报sp.SpeakAsync(pb);
》》获取语言包
SpeechSynthesizer sp = new SpeechSynthesizer();foreach (var item in sp.GetInstalledVoices()){this.comboBox1.Items.Add(item.VoiceInfo.Name);}
》》 异步播报 暂停、继续
if (sp.State == SynthesizerState.Speaking){// 正在播报 暂停sp.Pause();}else if (sp.State == SynthesizerState.Paused){// 已经 暂停,继续播放sp.Resume();}
》》停止
if (sp.State == SynthesizerState.Speaking){//取消所有排队、异步、语音合成操作。sp.SpeakAsyncCancelAll();}
》》保存音频
//使用using才能在结束后自动保存语音文件using (SpeechSynthesizer sp = new SpeechSynthesizer()){string path = @"D:\\zenvideo\";sp.SetOutputToWaveFile(path + "1.wav");//这句不会播报的,会把声音生成到1.wavsp.Speak("13213213213213");}

相关文章:
NET 语言识别,语音控制操作、语音播报
System.Speech. 》》System.Speech.Synthesis; 语音播报 》》System.Speech.Recognition 语音识别 using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Speech.Recog…...
Unity 调试死循环程序
如果游戏出现死循环如何调试呢。 测试脚本 我们来做一个测试。 首先写一个死循环代码: using System.Collections; using System.Collections.Generic; using UnityEngine;public class dead : MonoBehaviour {void Start(){while (true){int a 1;}}}Unity对象设…...
视频监控平台LntonCVS视频融合共享平台智慧安防视频监控汇聚应用方案
LntonCVS是一款功能强大且灵活部署的安防视频监控平台。它支持多种主流标准协议,包括GB28181、RTSP/Onvif、RTMP等,同时能够兼容海康Ehome、海大宇等厂家的私有协议和SDK接入。该平台不仅提供传统的安防监控功能,还支持接入AI智能分析&#x…...
【论文阅读笔记】Hierarchical Neural Coding for Controllable CAD Model Generation
摘要 作者提出了一种CAD的创新生成模型,该模型将CAD模型的高级设计概念表示为从全局部件排列到局部曲线几何的三层神经代码的层级树,并且通过指定目标设计的代码树来控制CAD模型的生成或完成。具体而言,一种带有“掩码跳过连接”的向量量化变…...
Unity扩展SVN命令
可以直接在unity里右键文件提交和查看提交记录 顶部菜单栏上回退和更新整个unity工程 SvnForUnity.CS 记得要放在Editor文件夹下 using System.Collections; using System.Collections.Generic; using System.Diagnostics; using System.IO; using UnityEditor; using Unity…...
「实战应用」如何用DHTMLX将上下文菜单集成到JavaScript甘特图中(三)
DHTMLX Gantt是用于跨浏览器和跨平台应用程序的功能齐全的Gantt图表。可满足项目管理应用程序的所有需求,是最完善的甘特图图表库。 DHTMLX Gantt是一个高度可定制的工具,可以与项目管理应用程序所需的其他功能相补充。在本文中您将学习如何使用自定义上…...
微服务保护
1、什么是微服务保护 微服务保护是指在微服务架构中采取的一系列措施,以确保各个服务的稳定性、可靠性和安全性。微服务是一种将应用程序作为一套小服务开发的方法,每个服务运行在其独立的进程中,并通常围绕特定的业务能力进行构建。微服务保…...
Python语言的优势所在
Python语言具有多个显著的优势,这些优势使得它在软件开发、数据分析、机器学习、Web开发等众多领域广受欢迎。以下是Python语言的一些主要优势: 简单易学:Python的语法清晰简洁,接近自然语言,易于理解和编写。对于初学…...
npm install时报错 reason: certificate has expired
在VS code中导入新项目,执行npm install时报错: npm warn old lockfile Could not fetch metadata for antv/g3.4.10 FetchError: request to https://registry.npm.taobao.org/antv%2fg failed, reason: certificate has expirednpm warn old lockfile …...
价格战再起:OpenAI 发布更便宜、更智能的 GPT-4o Mini 模型|TodayAI
OpenAI 今日推出了一款名为 GPT-4o Mini 的新模型,这款模型较轻便且成本更低,旨在为开发者提供一个经济实惠的选择。与完整版模型相比,GPT-4o mini 在成本效益方面表现卓越,价格仅为每百万输入 tokens 15 美分和每百万输出 tokens…...
从0开始对时间序列模型ACF和PACF的理解(以股价预测为例子)
目录 ACF模型选择问题ACF处理问题 PACF(偏自相关系数)模型选择 ACF 先了解一下概念,我不喜欢用公式套话讲。 ACF(自相关函数):就是看看当前的股票价格和之前的股票价格之间有没有关系。比如说,…...
MybatisPlus(MP)基础知识全解析
MyBatis-Plus(简称MP)是一个基于Java的持久层框架,它在MyBatis的基础上提供了许多实用的功能增强,使得开发者可以更加便捷地进行数据库操作。本文将介绍MyBatis-Plus的基础知识,包括其特性、核心组件以及如何使用它进行…...
前端组件化实践:Vue自定义加载Loading组件的设计与实现
摘要 随着前端技术的飞速发展,组件化开发已成为提高开发效率、降低维护成本的重要方法。本文介绍了前端Vue自定义加载Loading组件的设计思路与实现过程,该组件通过设置gif动画实现加载效果,可广泛应用于页面请求加载场景。通过该组件的实践&…...
LLaMA 背景
什么是LLaMA? 模型介绍:LLaMA是Meta开发的语言模型,旨在推动开放科学和人工智能的实践。 参数范围:这些模型的参数数量从7B到65B不等,覆盖了不同规模的需求。 训练数据:LLaMA模型是在数万亿个公开数据集的…...
硅谷裸机云多IP服务器怎么样?
硅谷裸机云多IP服务器是一种在硅谷地区提供的、具有多个IP地址的裸机云服务器。这种服务器结合了裸机服务器的高性能和云服务器的灵活性,同时提供了多个IP地址,为用户的各种需求提供了支持。以下是关于硅谷裸机云多IP服务器的一些详细信息,ra…...
Python+Django+MySQL的新闻发布管理系统【附源码,运行简单】
PythonDjangoMySQL的新闻发布管理系统【附源码,运行简单】 总览 1、《新闻发布管理系统》1.1 方案设计说明书设计目标工具列表 2、详细设计2.1 登录2.2 程序主页面2.3 新闻新增界面2.4 文章编辑界面2.5 新闻详情页2.7 其他功能贴图 3、下载 总览 自己做的项目&…...
实战项目:仿muduo库实现并发服务器
目录 项目初始与项目演示HTTP服务器基础认识Reactor模式基础认识单Reactor单线程模式认识单Reactor多线程模式认识多Reactor多线程模式认识 目标定位总体大模块划分server模块的管理思想Buffer子模块Socket子模块Channel子模块Connection子模块Acceptor子模块TimerQueue子模块P…...
提高Java程序效率:ImmutableList、Stream API 和 JSON序列化实战指南
常用列表构建方法: 1.ImmutableList.of() : 静态方法、不可变的列表 可以接受任意数量的参数,并将它们作为元素添加到新创建的列表中,但是一旦创建,集合的内容就不能被改变。在多线程环境中非常有用,因为…...
[CP_AUTOSAR]_分层软件架构_接口之通信模块交互介绍
目录 1、协议数据单元(PDU)传输2、通信模块的案例2.1、SDU、 PCI & PDU2.2、通信模块构成2.3、从数据传输的角度看Communication2.4、Communication中的接口 在前面 《关于接口的一些说明》 以及 《Memory软件模块接口说明》 中,简要介绍了CP_AUTOSAR分层…...
C语言 ——— 浮点数类型 在 内存中 的 存储模式
目录 浮点数存储规则 单\双精度浮点数 存储 S、M、E 的布局 有效数字M 和 指数位E 的特殊规定 浮点数在内存中是否存储的S、M、E 浮点数存储规则 根据国际标准IEEE754(电气和电子工程协会)规定:任意一个 浮点数F的二进制 都可以表示成…...
SSHFS-Win许可证完全指南:GPLv2+、GPLv3与FLOSS异常条款解析
SSHFS-Win许可证完全指南:GPLv2、GPLv3与FLOSS异常条款解析 【免费下载链接】sshfs-win SSHFS For Windows 项目地址: https://gitcode.com/gh_mirrors/ss/sshfs-win SSHFS-Win是一个让Windows用户通过SSH协议挂载远程服务器目录的开源工具,其许可…...
浏览器兼容性问题汇总
1.IE10版本以上浏览器input标签后面自带一个X问题IE10,IE11浏览器当点击input text文本框时,输入文本后出现一个删除功能的X按钮IE浏览器效果,而谷歌浏览器没有解决方案:给input添加如下CSS样式 input::-ms-clear{display:none;}2…...
CCC 数字钥匙 Release 3:BLE/UWB与NFC融合的无钥匙进入系统解析
1. CCC数字钥匙Release 3的技术革新 想象一下这样的场景:你双手提着购物袋走向爱车,距离3米时车灯自动点亮,1.5米时车门悄然解锁,拉开车门的瞬间引擎已经启动——这就是CCC数字钥匙Release 3带来的无感化体验。作为车联网联盟&…...
探索Comsol在光子晶体光纤SPR - PCF传感器及光学仿真中的奇妙世界
Comsol光子晶体光纤spr pcf传感器comsol光 Comsol光子晶体光纤spr pcf传感器 comsol光学仿真spr。 利用几何相位缺陷态光子晶体实现谷自旋分离在光学领域,光子晶体光纤(PCF)以及表面等离子体共振(SPR)相关的研究一直热…...
【OpenClaw 全面解析:从零到精通】第 025 篇:OpenClaw v2026.3.22+v2026.3.23 安全与架构全面升级:从版本迭代看 AI Agent 工程化实践
系列说明:本系列全面介绍 OpenClaw 开源 AI 智能体框架,从历史背景到核心原理,从安装部署到应用生态。本文为系列第 025 篇,结合 2026 年 3 月 22-24 日最新发布的双版本合并更新,系统解析 OpenClaw 从功能驱动到安全驱…...
手把手教你用4090D单卡24G显存本地跑DeepSeek-R1:KTransformers保姆级安装与避坑指南
手把手教你用4090D单卡24G显存本地跑DeepSeek-R1:KTransformers保姆级安装与避坑指南 最近在折腾大模型本地部署的朋友们,应该都听说过DeepSeek-R1这个671B参数的"巨无霸"。传统认知里,这种规模的模型至少需要专业级GPU集群才能跑起…...
Elasticsearch IK 分词器远程词典
一、背景 在使用 Elasticsearch IK 分词器进行中文检索时,默认词库往往无法覆盖业务中的专业词汇(如:知识库、RAG架构、向量检索等)。 如果不进行扩展,这些词可能被错误拆分,导致: 检索结果不准…...
基于YOLOv11深度学习的管道泄露识别检测系统(YOLOv11+YOLO数据集+UI界面+登录注册界面+Python项目源码+模型)
一、项目介绍 随着工业管道的广泛应用,泄漏事故不仅会造成资源浪费,还可能引发严重的安全事故和环境污染。传统的管道泄漏检测方法主要依靠人工巡检或传感器监测,存在效率低、响应慢、成本高等问题。为解决这一难题,本项目基于YOL…...
巨有科技智慧市集系统,数字化工具降本增效!
从城市商圈到景区古镇,从乡村田园到文创园区,各类市集遍地开花,但管理难题始终是制约行业发展的最大瓶颈。人工登记杂乱、对账结算繁琐、现场管控滞后、数据完全空白,一场中型市集就要耗费大量人力物力,大型市集更是纠…...
MCP 测试文章 1774508531523
这是一篇来自 MCP Server 的测试文章 测试正常工作!...
