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已经提供了要语音的字符串.我要做的就是把这些字符串读出声音来即可. ...
随机推荐
- springboot注解@SpringBootApplication分析
@SpringBootApplication注解用在Spring Boot的入口类上面,是Spring Boot提供的应用启动相关的注解. 直接上注解的源码: @Target(ElementType. ...
- Springboot自定义过滤器Filter
前言:自己写了个Springboot项目,最近写的功能越来越多,结合业务已经要写过滤器Filter来过滤处理一些请求. 在网上看了几篇博客,总结如下: 过滤器配置方式有两种: 1.通过@WebFilt ...
- Jquery ajax传递xml方式在ie8下兼容问题
主要问题就是ie8把xml格式在打开的时候转换成了string,我们只用把其转换回xml就可以了. $.ajax({ type:’GET’, url:’list.php?pagenow=’+count ...
- 介绍Ajax与jQuery技术
Ajxs技术(异步的JavaScript与XML)已有多种技术的组合 Ajax的优点是什么? 1.可以实现客户端的异步请求操作2.进而在不需要刷新页面的情况下与服务器进行通信,减少用户的等待时间3.减 ...
- RedHat 安装RabbitMQ
(以下均以root用户执行) 1.安装配置epel源rpm -Uvh http://dl.fedoraproject.org/pub/epel/6/i386/epel-release-6-8.noar ...
- Springboot中使用Xstream进行XML与Bean 相互转换
在现今的项目开发中,虽然数据的传输大部分都是用json格式来进行传输,但是xml毕竟也会有一些老的项目在进行使用,正常的老式方法是通过获取节点来进行一系列操作,个人感觉太过于复杂.繁琐.推荐一套简单的 ...
- react & youtube
react & youtube https://www.npmjs.com/package/react-youtube https://developers.google.com/youtub ...
- 微服务架构中APIGateway原理
背景 我们知道在微服务架构风格中,一个大应用被拆分成为了多个小的服务系统提供出来,这些小的系统他们可以自成体系,也就是说这些小系统可以拥有自己的数据库,框架甚至语言等,这些小系统通常以提供 Rest ...
- Ehlib(Delphi控件) v9.2.024 D7-XE10.2 免费绿色特别版
下载地址:https://www.jb51.net/softs/579413.html#downintro2 EHLib是一个DELPHI 下的非常棒的第三方Grid控件,比DELPHI自带的强大许多 ...
- idea 通过命令操作git
关于如何把git(远程)端项目拉取到idea端的操作可以观看:https://blog.csdn.net/autfish/article/details/52513465 在本地向远程提交文件git ...