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语音播报带背景音乐相关推荐

  1. 2019-详细Android Studio开发百度地图(5)—百度地图_导航和TTS语音播报的实现

    百度地图_导航和TTS语音播报的实现 前言 从小白一步步开始,很多资源是很久以前的,而且没有操作配套截图和资源分享.现在本踩过了很多坑,现在开发完成后决定重新写一份教程,希望能借此帮助到许多其他有这方 ...

  2. Android 9.0 设置讯飞语音引擎为默认tts语音播报引擎

    1.前言 在9.0的系统rom定制化开发中,在产品开发中,一些内置的app需要用到tts语音播报功能,所以需要用到讯飞语音引擎作为默认的系统tts语音引擎功能,所以就需要 了解系统关于tts语音引擎默 ...

  3. JS实现TTS语音播报

    JS实现TTS语音播报 function speckText(str){//var request= new URLRequest();var url = "http://tts.baidu ...

  4. Android TTS语音播报

    TTS 语音播报:  代码摘要: private TextToSpeech mTts;private EditText et_setPitch;private EditText et_setSpeec ...

  5. Android TTS语音播报实践

    在工作中遇到了语音播报的需求,在收到push后,用语音播报push携带的播报内容.类似于微信支付宝的收款信息一样.调研后主要的语音播报方案有一下几种: 基于第三方的TTS SDK,如百度.思必驰.讯飞 ...

  6. TTS语音播报模块UNV6288的使用方法

    TTS即text to sound, 输入字符它可以帮你转化为语音输出. UNV6288可以实现中文.英文.数字的语音合成.用户也可以定义语音大小速度等参数. 这个模块的控制方式很简单,只要通过 TT ...

  7. TTS语音播报程序部署与配置

    本功能已经在Windows7,Windows8.1,Windows10上测试过,其他版本操作系统未进行过测试. 1. 下载程序包 [32位]下载地址:http://pan.baidu.com/s/1i ...

  8. Android实现TTS语音播报

    TTS工具类: public class SystemTTS {private static SystemTTS singleton;private Context mContext;//核心播放对象 ...

  9. 客户案例:使用点星PBX进行电话自助水费查询TTS语音播报原理

    1. 功能环境说明 某市区送水公司安装点星PBX呼叫中心,基本的电话功能有:客户呼入请求送水服务,坐席呼出回访,微信公众号使客户可以关注后在线购买桶装水套餐.除了上述功能外,点星PBX还支持客户电话呼 ...

  10. Android tts语音播报设置最大音量

    设置方式就是在语音播报前,将音量设置最大,再进行播报 方式如下 //设置最大音量 AudioManager am = (AudioManager) getSystemService(Context.A ...

最新文章

  1. oracle 未绑定变量,查看Oracle数据库中未绑定变量的SQL
  2. 【机器学习】分类算法-sklearn转换器和估计器
  3. 巧妙的查看FORM中的 LOV查询语句
  4. windows远程连接linux-安装xfce界面,ubuntn添加新用户
  5. linux删除具有指定内容的文件,Linux bash删除文件中含“指定内容”的行功能示例...
  6. leetcode刷题:不同路径
  7. 『中级篇』Docker-Stack部署wordpress(49)
  8. 刷脸支付为人们消费方式创始一个新纪元
  9. Django入门:第十一章、基础模板
  10. 台式计算机中常用的机械硬盘,台式机如何安装机械硬盘?给台式电脑安装机械硬盘的详细步骤...
  11. Golang interface 接口详解
  12. STLINK下载程序出现cannot access target. shutting down debug session问题解决的一般步骤
  13. C++常用 math 函数
  14. 【​观察】纺织印花行业转型与升级提速 爱普生蒙娜丽莎掀起技术迭代革命...
  15. Linux中ssh登录跳过RSA key fingerprint输入yes/no
  16. MIT6.828学习之homework9:Barriers
  17. 权威一文解读人工智能等级考试证书超高含金量
  18. 社会,经济的1000+篇文章总结
  19. php基础一(数组)
  20. 人工智能python自学教程-人工智能基础教程:Python篇(青少版)

热门文章

  1. tomcat绕过同源策略(CORS)--亲测有效
  2. 实时操作系统与通用操作系统的一些比较
  3. 闲置域名解析到自己的博客
  4. 虚拟主机支持ssl支持php7,虚拟主机支持https改造吗
  5. java new 关键字到底做了什么?
  6. python情感词提取_Python 文本挖掘:使用情感词典进行情感分析(算法及程序设计)...
  7. JAVA Excel下载学习
  8. php tcp utp链接,【黑帽seo】php随机调用友情链接技术
  9. 计算机网络数据传输的,计算机网络数据传输技术基本概念
  10. Notepad2替换windows自带记事本