WordToSound

最近要实现一个功能:根据配置文件输入字发出对应的提示音
实现的代码只有一行

private string l_strSoundWord;
l_strSoundWord = ReadIni("配置","音字");
WordToSound.WordToSoundFun(l_strSoundWord);

WordToSound代码如下:

using System;
using SpeechLib;

public class WordToSound
{
	public static void WordToSoundFun(string strWord)
	{
		try
		{
			SpVoice spVoice = new SpVoiceClass();
			spVoice.Rate = 1;
			spVoice.Volume = 100;
			spVoice.Voice = spVoice.GetVoices().Item(0);
			spVoice.Speak(strWord);
		}
		catch (Exception)
		{
		}
	}
}

SpeechLib是从网上下载的 Interop.SpeechLib.dll
除了SpVoice,这个动态链接库有很多的方法。这里仅了解一下SpVoice
下面转载链接 https://www.cnblogs.com/Theladyflower/p/4212550.html 的部分内容:

SpVoice类是支持语音合成(TTS)的核心类。通过SpVoice对象调用TTS引擎,从而实现朗读功能。

SpVoice类有以下主要属性:
Voice:表示发音类型,相当于进行朗读的人,包括Microsoft Mary,Microsoft Mike,Microsoft Sam和Microsoft Simplified Chinese四种。其中前三种只能读英文,最后一种可以读中文,也可以读英文,但对于英文单词只能将其包括的各个字母逐一朗读出来。下面的程序中我们将会想办法解决这个问题。
Rate:语音朗读速度,取值范围为-10到+10。数值越大,速度越快。
Volume:音量,取值范围为0到100。数值越大,音量越大。
SpVoice有以下主要方法:
Speak:完成将文本信息转换为语音并按照指定的参数进行朗读,该方法有Text和Flags两个参数,分别指定要朗读的文本和朗读方式(同步或异步等)。
Pause:暂停使用该对象的所有朗读进程。该方法没有参数。
Resume:恢复该对象所对应的被暂停的朗读进程。该方法没有参数。

网上查到spVoice.GetVoices()返回一个集合,0是汉字,1234都是英文
关于这个SDK中文编程文档[链接] :https://wenku.baidu.com/view/ef15ec77cb50ad02de80d4d8d15abe23482f03a3.html(https://wenku.baidu.com/view/ef15ec77cb50ad02de80d4d8d15abe23482f03a3.html)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值