Speech语音播报
System.Speech 这个命名空间,报可以阅读文字和播放音频.
环境 W10 VS2017 CMMT
1.添加程序集引用 System.Speech
2.实例化播音类,并且播放一个文本
SpeechSynthesizer speech = new SpeechSynthesizer();
// 语速[-10,10]
this.speech.Rate = -
// 音量[0,100]
//this.speech.Volume = 100
// 播放当前时间
string nowtime = DateTime.Now.ToString("yyyy年MM月dd日HH点mm分");
// 这里使用异步播放. 同步播放时,会卡死窗体(如果用WINFORM)
speech.SpeakAsync(nowtime);
// 播放完毕之后,执行一个方法
speech.SpeakCompleted += Speech_SpeakCompleted
3.播放一段音频
SpeechSynthesizer speech = new SpeechSynthesizer();
// 建一个音频内容
PromptBuilder pb = new PromptBuilder();
// 音频地址 这个音频的格式是wav的.别的格式不行
pb.AppendAudio(path);
// 播放这个音频
speech.SpeakAsync(pb);
4.使用PromptBuilder可以自定义播放内容
// 实现滴滴滴后整点报时
string audiopath="didi.wav";
string starttxt = "现在时刻";
string nowtime = DateTime.Now.ToString("yyyy年MM月dd日HH点mm分");
//
PromptBuilder pb = new PromptBuilder();
// 加入滴滴滴声音
pb.AppendAudio(audiopath);
// 停顿一下
pb.AppendBreak(PromptBreak.Medium);
// 报现在时刻
pb.AppendText(starttxt);
// 再停顿一下
pb.AppendBreak(PromptBreak.Medium);
// 报时
pb.AppendText(nowtime);
return pb;
二.用NAudio可以播放wav也能播放mp3
1.用nuget下载NAudio

2.
/// <summary>
/// 使用NAudio播放音频.支持MP3,但不支持ogg
/// </summary>
class NAuidoHelp
{
private WaveOutEvent outputDevice;
private AudioFileReader audioFile;
/// <summary>
/// 播放停止后执行一个自定义方法
/// </summary>
private Action stopPlayCallBack;
public void PlayAudio(string audiopath,Action stopHandler=null)
{
// 播放完成之后,执行方法
if (outputDevice == null)
{
outputDevice = new WaveOutEvent();
outputDevice.PlaybackStopped += OnPlaybackStopped;
}
// 载入音频文件
if (audioFile == null)
{
audioFile = new AudioFileReader(audiopath);
outputDevice.Init(audioFile);
}
stopPlayCallBack = stopHandler;
outputDevice.Play();
} /// <summary>
/// 播放停止事件
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void OnPlaybackStopped(object sender, StoppedEventArgs e)
{
outputDevice.Dispose();
outputDevice = null;
audioFile.Dispose();
audioFile = null;
stopPlayCallBack?.Invoke();
}
}
Speech语音播报的更多相关文章
- C# 使用System.Speech 进行语音播报和识别
C# 使用System.Speech 进行语音播报和识别 using System.Speech.Synthesis; using System.Speech.Recognition; //语音识别 ...
- jQuery.speech实现文本转语音播报功能
先放一个实例的地址https://github.com/wenco/speech jQuery.speech是用jQuery写的扩展插件,主要是用来语音播报. 接口调用百度翻译的接口,所以存在url参 ...
- SpeechLib 语音播报
SpeechLib这的dll专门用来播放语音,能够识别英语.简体和繁体.并且可以播放声音文件,支持WAV格式,但不支持MP3.在报警场合下已经够用了. 基本播放语音及文件.支持异步. using Sy ...
- iOS自带TTS技术的实现即语音播报
文本转语音技术, 也叫TTS, 是Text To Speech的缩写. iOS如果想做有声书等功能的时候, 会用到这门技术. 一,使用iOS自带TTS需要注意的几点: iOS7之后才有该功能 需要 A ...
- Android 简单的语音播报
不解释快上车 Main.class package com.example.myapp; import android.app.AlertDialog;import android.os.Bundle ...
- PHP实现智能语音播报
原文地址 https://www.jianshu.com/p/91a046ec6ebc 大家估计都知道现在很多AI音响能够给你播报天气,叫你起床...甚至能够接受语音指令!所谓的人工智能音响,听起来很 ...
- iOS如何实现语音播报及后台播放
最近项目刚刚交付,偶然间用到了语音播报和语音搜索的功能.语音搜索我用的是讯飞的demo,感觉效果还不错,感兴趣的话可以去官网上面下载demo,里面讲的特别的详细,不过稍显麻烦一些.语音播报讯飞也有de ...
- web 语音播报 & 网页阅读器
web 语音播报 & 网页阅读器 Chrome auto speech & voice speaking http://3.141592653589793238462643383279 ...
- 语音合成,语音播报功能(系统)-b
第一次接触语音合成,只实现了很简单的功能,记录一下,以后免得去网上四处找资料 最近在做高德地图导航的时候有个语音播报的功能,高德sdk已经提供了要语音的字符串.我要做的就是把这些字符串读出声音来即可. ...
随机推荐
- Servlet 使用ServletContext共享数据,读取web.xml配置
ServletContext对象 session和cookie,对于每一个请求用户来说,都是不同的,因为要保证隐私安全. 而有一些数据,可以让所有用户共享,此时就可以用ServletContext对象 ...
- mysql cpu 100% 满 优化方案
解决MySQL CPU占用100%的经验总结 - karl_han的专栏 - CSDN博客 https://blog.csdn.net/karl_han/article/details/5630782 ...
- js文字从左边飞入效果
贴代码之前,我们先讲一下它的原理,我们使用setInterval,让文字一开始置于屏幕看不到的位置,左右上下都可以,然后让它的位置不断移入到屏幕看得到的位置. 下面上代码: html: <h2 ...
- ORACLE 当字段中有数据如何修改字段类型
创建视图的时候,因为表太多,里面一些字段类型不一样,PL/SQL报错,为‘表达式必须具有对应表达式相同的数据类型’,发现后,一个字段的类型为CLOB和VARCHAR2(4000)两种,将CLOB进行修 ...
- PhpStorm 头部注释、类注释和函数注释的设置
*设置位置:"Settings"->"file templates"; 如下图,设置头部注释.类注释以及函数注释,时间.用户名.文件名称等随机改变的属性, ...
- Dom4j解析
dom4j-1.6.1.jar, 这个包提供了xml解析相关的方法. 这里做一个记录,微信公众号里需要对HttpServletRequest做解析,实际上也可以用dom4j提供的方法进行解析转换. 这 ...
- ASP.NET MVC和Web API中的Angular2 - 第2部分
下载源码 内容 第1部分:Visual Studio 2017中的Angular2设置,基本CRUD应用程序,第三方模态弹出控件 第2部分:使用Angular2管道进行过滤/搜索,全局错误处理,调试客 ...
- vuejs 单文件组件.vue 文件
vuejs 自定义了一种.vue文件,可以把html, css, js 写到一个文件中,从而实现了对一个组件的封装, 一个.vue 文件就是一个单独的组件.由于.vue文件是自定义的,浏览器不认识,所 ...
- Modeling Filters and Whitening Filters
Colored and White Process White Process White Process,又称为White Noise(白噪声),其中white来源于白光,寓意着PSD的平坦分布,w ...
- Spring 使用介绍(三)—— 资源
一.Resource接口 Spring提供Resource接口,代表底层外部资源,提供对底层外部资源的一致性访问接口 public interface InputStreamSource { Inpu ...