C#TTS语音播报带背景音乐
C#TTS语音播报带背景音乐
1、首先添加引用Microsoft Speech Object Library
2、然后在程序中以及声明一个对象
using System.Speech.Synthesis;
//提供对已安装的语音合成引擎访问对象
SpeechSynthesizer synth = new SpeechSynthesizer();
3、写两句柄函数,用于向控制接口发送控制命令和获得返回执行状态错误代码的描述 也就是用于播放背景音乐的方法
/// <summary>/// 向媒体控制接口发送控制命令/// </summary>/// <param name="lpszCommand">命令,参见/// http://msdn.microsoft.com/en-us/library/windows/desktop/dd743572(v=vs.85).aspx </param>/// <param name="lpszReturnString">命令返回的信息,如果没有需要返回的信息可以为null</param>/// <param name="cchReturn">指定返回信息的字符串大小</param>/// <param name="hwndCallback">回调句柄,如果命令参数中没有指定notify标识,可以为new IntPtr(0)</param>/// <returns>返回命令执行状态的错误代码</returns>[DllImport("winmm.dll")]static extern Int32 mciSendString(string lpszCommand, StringBuilder returnString, int bufferSize, IntPtr hwndCallback);/// <summary>/// 返回对执行状态错误代码的描述/// </summary>/// <param name="errorCode">mciSendCommand或者mciSendString返回的错误代码</param>/// <param name="errorText">对错误代码的描述字符串</param>/// <param name="errorTextSize">指定字符串的大小</param>/// <returns>如果ERROR Code未知,返回false</returns>[DllImport("winmm.dll")]static extern bool mciGetErrorString(Int32 errorCode, StringBuilder errorText, Int32 errorTextSize);
4、然后写SpeechSynthesizer 对象的语音开始播放事件和结束播放事件,用于播放和停止背景音乐
synth.SpeakStarted += Synth_SpeakStarted;synth.SpeakCompleted += Synth_SpeakCompleted;#region 结束播放时停止背景音乐播放private void Synth_SpeakCompleted(object sender, SpeakCompletedEventArgs e){mciSendString("close myDivece", null, 0, new IntPtr(0)); //关闭}#endregion#region 开始播放时同时播放背景音乐private void Synth_SpeakStarted(object sender, SpeakStartedEventArgs e){int error = mciSendString(@"open C:你的路径\背景音乐\1.wav alias myDivece", null, 0, new IntPtr(0));if (error == 0){mciSendString("play myDivece", null, 0, new IntPtr(0)); //播放}}#endregion
5、下载几个背景音乐.wav格式的 自行下载即可,这里我是在包图网下载的
6、声明一个对象用于获得所有已安装的语音包
List<InstalledVoice> voiceList = synth.GetInstalledVoices().ToList<InstalledVoice>();
7、就可以调用TTS语音播放
for (int i = 0; i < voiceList.Count; i++)
{string speakContent = "大家好 我是大帅哥";string strTem2p = voiceList[i].VoiceInfo.Name.ToString();synth.SelectVoice(strTem2p);synth.SpeakAsync(speakContent);
}
8、以上就是调用语音合成引擎的主要细节内容,小项目,可以选择语音包,可以设置声音大小和语速,仅用于记录下日常笔记,需要的可以参考下
9、附上我某个小项目的需求功能截图
项目中1、使用到了Access数据库,用于记录下历史数据,2、使用到了Http服务端,用于接收外部传输进来的接口数据,3、使用到了并发队列,用于接收外部接口并发进来的数据处理
C#TTS语音播报带背景音乐相关推荐
- 2019-详细Android Studio开发百度地图(5)—百度地图_导航和TTS语音播报的实现
百度地图_导航和TTS语音播报的实现 前言 从小白一步步开始,很多资源是很久以前的,而且没有操作配套截图和资源分享.现在本踩过了很多坑,现在开发完成后决定重新写一份教程,希望能借此帮助到许多其他有这方 ...
- Android 9.0 设置讯飞语音引擎为默认tts语音播报引擎
1.前言 在9.0的系统rom定制化开发中,在产品开发中,一些内置的app需要用到tts语音播报功能,所以需要用到讯飞语音引擎作为默认的系统tts语音引擎功能,所以就需要 了解系统关于tts语音引擎默 ...
- JS实现TTS语音播报
JS实现TTS语音播报 function speckText(str){//var request= new URLRequest();var url = "http://tts.baidu ...
- Android TTS语音播报
TTS 语音播报: 代码摘要: private TextToSpeech mTts;private EditText et_setPitch;private EditText et_setSpeec ...
- Android TTS语音播报实践
在工作中遇到了语音播报的需求,在收到push后,用语音播报push携带的播报内容.类似于微信支付宝的收款信息一样.调研后主要的语音播报方案有一下几种: 基于第三方的TTS SDK,如百度.思必驰.讯飞 ...
- TTS语音播报模块UNV6288的使用方法
TTS即text to sound, 输入字符它可以帮你转化为语音输出. UNV6288可以实现中文.英文.数字的语音合成.用户也可以定义语音大小速度等参数. 这个模块的控制方式很简单,只要通过 TT ...
- TTS语音播报程序部署与配置
本功能已经在Windows7,Windows8.1,Windows10上测试过,其他版本操作系统未进行过测试. 1. 下载程序包 [32位]下载地址:http://pan.baidu.com/s/1i ...
- Android实现TTS语音播报
TTS工具类: public class SystemTTS {private static SystemTTS singleton;private Context mContext;//核心播放对象 ...
- 客户案例:使用点星PBX进行电话自助水费查询TTS语音播报原理
1. 功能环境说明 某市区送水公司安装点星PBX呼叫中心,基本的电话功能有:客户呼入请求送水服务,坐席呼出回访,微信公众号使客户可以关注后在线购买桶装水套餐.除了上述功能外,点星PBX还支持客户电话呼 ...
- Android tts语音播报设置最大音量
设置方式就是在语音播报前,将音量设置最大,再进行播报 方式如下 //设置最大音量 AudioManager am = (AudioManager) getSystemService(Context.A ...
最新文章
- oracle 未绑定变量,查看Oracle数据库中未绑定变量的SQL
- 【机器学习】分类算法-sklearn转换器和估计器
- 巧妙的查看FORM中的 LOV查询语句
- windows远程连接linux-安装xfce界面,ubuntn添加新用户
- linux删除具有指定内容的文件,Linux bash删除文件中含“指定内容”的行功能示例...
- leetcode刷题:不同路径
- 『中级篇』Docker-Stack部署wordpress(49)
- 刷脸支付为人们消费方式创始一个新纪元
- Django入门:第十一章、基础模板
- 台式计算机中常用的机械硬盘,台式机如何安装机械硬盘?给台式电脑安装机械硬盘的详细步骤...
- Golang interface 接口详解
- STLINK下载程序出现cannot access target. shutting down debug session问题解决的一般步骤
- C++常用 math 函数
- 【​观察】纺织印花行业转型与升级提速 爱普生蒙娜丽莎掀起技术迭代革命...
- Linux中ssh登录跳过RSA key fingerprint输入yes/no
- MIT6.828学习之homework9:Barriers
- 权威一文解读人工智能等级考试证书超高含金量
- 社会,经济的1000+篇文章总结
- php基础一(数组)
- 人工智能python自学教程-人工智能基础教程:Python篇(青少版)
热门文章
- tomcat绕过同源策略(CORS)--亲测有效
- 实时操作系统与通用操作系统的一些比较
- 闲置域名解析到自己的博客
- 虚拟主机支持ssl支持php7,虚拟主机支持https改造吗
- java new 关键字到底做了什么?
- python情感词提取_Python 文本挖掘:使用情感词典进行情感分析(算法及程序设计)...
- JAVA Excel下载学习
- php tcp utp链接,【黑帽seo】php随机调用友情链接技术
- 计算机网络数据传输的,计算机网络数据传输技术基本概念
- Notepad2替换windows自带记事本