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的二进制 都可以表示成…...
UE5 学习系列(二)用户操作界面及介绍
这篇博客是 UE5 学习系列博客的第二篇,在第一篇的基础上展开这篇内容。博客参考的 B 站视频资料和第一篇的链接如下: 【Note】:如果你已经完成安装等操作,可以只执行第一篇博客中 2. 新建一个空白游戏项目 章节操作,重…...
Java 语言特性(面试系列1)
一、面向对象编程 1. 封装(Encapsulation) 定义:将数据(属性)和操作数据的方法绑定在一起,通过访问控制符(private、protected、public)隐藏内部实现细节。示例: public …...
2025年能源电力系统与流体力学国际会议 (EPSFD 2025)
2025年能源电力系统与流体力学国际会议(EPSFD 2025)将于本年度在美丽的杭州盛大召开。作为全球能源、电力系统以及流体力学领域的顶级盛会,EPSFD 2025旨在为来自世界各地的科学家、工程师和研究人员提供一个展示最新研究成果、分享实践经验及…...
《用户共鸣指数(E)驱动品牌大模型种草:如何抢占大模型搜索结果情感高地》
在注意力分散、内容高度同质化的时代,情感连接已成为品牌破圈的关键通道。我们在服务大量品牌客户的过程中发现,消费者对内容的“有感”程度,正日益成为影响品牌传播效率与转化率的核心变量。在生成式AI驱动的内容生成与推荐环境中࿰…...
P3 QT项目----记事本(3.8)
3.8 记事本项目总结 项目源码 1.main.cpp #include "widget.h" #include <QApplication> int main(int argc, char *argv[]) {QApplication a(argc, argv);Widget w;w.show();return a.exec(); } 2.widget.cpp #include "widget.h" #include &q…...
【2025年】解决Burpsuite抓不到https包的问题
环境:windows11 burpsuite:2025.5 在抓取https网站时,burpsuite抓取不到https数据包,只显示: 解决该问题只需如下三个步骤: 1、浏览器中访问 http://burp 2、下载 CA certificate 证书 3、在设置--隐私与安全--…...
三体问题详解
从物理学角度,三体问题之所以不稳定,是因为三个天体在万有引力作用下相互作用,形成一个非线性耦合系统。我们可以从牛顿经典力学出发,列出具体的运动方程,并说明为何这个系统本质上是混沌的,无法得到一般解…...
【python异步多线程】异步多线程爬虫代码示例
claude生成的python多线程、异步代码示例,模拟20个网页的爬取,每个网页假设要0.5-2秒完成。 代码 Python多线程爬虫教程 核心概念 多线程:允许程序同时执行多个任务,提高IO密集型任务(如网络请求)的效率…...
高防服务器能够抵御哪些网络攻击呢?
高防服务器作为一种有着高度防御能力的服务器,可以帮助网站应对分布式拒绝服务攻击,有效识别和清理一些恶意的网络流量,为用户提供安全且稳定的网络环境,那么,高防服务器一般都可以抵御哪些网络攻击呢?下面…...
使用 Streamlit 构建支持主流大模型与 Ollama 的轻量级统一平台
🎯 使用 Streamlit 构建支持主流大模型与 Ollama 的轻量级统一平台 📌 项目背景 随着大语言模型(LLM)的广泛应用,开发者常面临多个挑战: 各大模型(OpenAI、Claude、Gemini、Ollama)接口风格不统一;缺乏一个统一平台进行模型调用与测试;本地模型 Ollama 的集成与前…...
