c# 语音

原文连接:http://blog.sina.com.cn/s/blog_6cf3e9940100pqq5.html

项目添加引用:Microsoft Speech Object Libray
下面这个例子可以播放指定音频文件,而且还可以读字符串:

/// <summary>

        /// 播放声音文件

        /// </summary>

        /// <param name="FileName">文件全名</param>

        public void PlaySound(string FileName)

        {//要加载COM组件:Microsoft speech object Library

            if (!System.IO.File.Exists(FileName))

            {

                return;

            }

            SpeechLib.SpVoiceClass pp = new SpeechLib.SpVoiceClass();

 

            SpeechLib.SpFileStreamClass spFs = new SpeechLib.SpFileStreamClass();

 

            spFs.Open(FileName, SpeechLib.SpeechStreamFileMode.SSFMOpenForRead, true);

            SpeechLib.ISpeechBaseStream Istream = spFs as SpeechLib.ISpeechBaseStream;

            pp.SpeakStream(Istream, SpeechLib.SpeechVoiceSpeakFlags.SVSFIsFilename);

            spFs.Close();

        }

以上文章来源:百度空间#记住的忘记的#http://hi.baidu.com/jackeyrain/blog/item/12251e3fa8acb9c47d1e7188.html

 

下面来细分下SpVoice类,属性,方法,事件

属性:

    'AlertBoundary' 分隔类型,当属性没有同,发生的事情便没有同

    'AllowAudioOutputFormatChangesOnNextSet 容许用户能否能调整音频格局

    'AudioOutputStream 通功当属性取得由对于象SpFileStream翻开的白件数据淌,然后通功speak方式朗诵进去

    'EventInterests 取AlertBoundary相似,用来产惹事件的类型

    'Priority 优先权

    'Rate 朗读快度

    'Voice 声响类型

    'Volume 声响大小

方法:

    GetVoices 到得声响类型

    'Speak 开端朗诵

    'Pause 暂停

    'Resume 自暂停处开端朗读

    'Skip 跳功若做双词或者句子

    'SpeakStream 朗读白件数据淌

    'WaitUntilDone 延迟必定时光,双位为毫秒

事件:

    'Word 每读完一个双词即发生一次当事情

    'VoiceChange 声音转变便产生

    'Phoneme 每个音位产生

    'EndStream 朗诵完毕后发生

speech.Rate = 5;

speech.Volume = 100;

speech.Voice = speech.GetVoices(string.Empty, string.Empty).Item(3);  //取得系统声音类型

private void SpeechSpeak(string SpeakString)

{

speech.Speak(SpeakString, SpeechVoiceSpeakFlags.SVSFlagsAsync);

 }

 

SpVoiceClass详解

属性

描述

AlertBoundary

取得或设置停顿分界线。

AllowAudioOutputFormatChangesOnNextSet

设置是否允许声音自动调整到合适状态以适应其音频输出。

AudioOutput

.取得或设置当前声音使用的的音频输出对象

AudioOutputStream

取得或设置当前声音使用的的音频输出流对象。

EventInterests

取得或设置当前声音返回的事件类型。

Priority

取得或设置声音的优先级。

Rate

取得或设置阅读的速度。

Status

返回一个ISpeechVoiceStatus 对象用于显示当前阅读和事件的状态

SynchronousSpeakTimeout

取得或设置一个时间间隔,用于标识多久未获得一个输出设备后,一个同步的Speak SpeakStream将终止,以毫秒计算。

Voice

取得或设置发音对象。

Volume

取得或设置声音的大小 

 

方法

描述

DisplayUI

是否在控制面板中展示详细设置。

GetAudioOutputs

返回一个可用的音频输出标记。

GetVoices

返回一个可用的发音对象。

IsUISupported

决定是否能通过控制棉板的音频设置来控制。

Pause

暂停朗读。.

Resume

恢复暂停,继续播放。

Skip

在当前输入的文本流中向前或向后跳一定距离再播放。

Speak

阅读一个字符串。

SpeakCompleteEvent

得到一个朗读完毕的时间句柄

SpeakStream

朗读一个文本流或一个声音文件。

WaitUntilDone

阻塞进程,直到声音播放完毕或者超时。

转载于:https://www.cnblogs.com/chengjunwei/p/3406755.html

Delphi中英文语音朗读程序(控件及源码)调试OK 先安装Microsoft Speech SDK 5.1,这是微软的声音支持控件 前面安装不多做介绍,一步一步安装即可 安装完成后,需要加载Delphi控件 在Delphi IDE中选择菜单Project,Import Type Library—点击按钮Add(C:\Program Files\Common Files\Microsoft Shared\Speech\ sapi.dll)—点击按钮Install-在Install对话框中点击按钮OK—在Confirm对话框中点击按钮Yes—在对话框中点击按钮OK。至此,共19个控件被添加到Delphi组件板ActiveX页上。其中spvoice控件是我们要使用的 Microsoft Speech SDK 5.1下载地址:http://intraweb.5d6d.com/thread-280-1-1.html SpVoice详解 属性 描述 AlertBoundary 取得或设置停顿分界线。 AllowAudioOutputFormatChangesOnNextSet 设置是否允许声音自动调整到合适状态以适应其音频输出。 AudioOutput .取得或设置当前声音使用的的音频输出对象 AudioOutputStream 取得或设置当前声音使用的的音频输出流对象。 EventInterests 取得或设置当前声音返回的事件类型。 Priority 取得或设置声音的优先级。 Rate 取得或设置阅读的速度。 Status 返回一个ISpeechVoiceStatus 对象用于显示当前阅读和事件的状态 SynchronousSpeakTimeout 取得或设置一个时间间隔,用于标识多久未获得一个输出设备后,一个同步的Speak 和SpeakStream将终止,以毫秒计算。 Voice 取得或设置发音对象。 Volume 取得或设置声音的大小 。 方法 描述 DisplayUI 是否在控制面板中展示详细设置。 GetAudioOutputs 返回一个可用的音频输出标记。 GetVoices 返回一个可用的发音对象。 IsUISupported 决定是否能通过控制棉板的音频设置来控制。 Pause 暂停朗读。. Resume 恢复暂停,继续播放。 Skip 在当前输入的文本流中向前或向后跳一定距离再播放。 Speak 阅读一个字符串。 SpeakCompleteEvent 得到一个朗读完毕的时间句柄 SpeakStream 朗读一个文本流或一个声音文件。 WaitUntilDone 阻塞进程,直到声音播放完毕或者超时。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值