润宇软件
首 页 企业简介 项目案例 软件定制 行业软件 解决方案 企业动态 服务专区 客服中心
业务介绍:西安软件公司、软件开发、软件定制、软件外包
软件 方案 文章
  润宇软件 >> 新闻资讯  >> 解决方案

西安软件软件公司讲解C#语音技术

发布时间:2017/9/4  浏览次数:18次  字体【    】

1、使用DotNetSpeech.dll。

/// <summary>

/// 朗读
/// </summary>
/// <param name="text">要朗读的文本</param>
private void Read(string text)
{
    SpVoice sv = new SpVoice();
    sv.Rate = 0;//设置朗读速度
    SpeechVoiceSpeakFlags SSF = SpeechVoiceSpeakFlags.SVSFlagsAsync;
    sv.Speak(text, SSF);
}
/// <summary>
/// 生成声音文件
/// </summary>
/// <param name="text">要朗读的文本</param>
/// <param name="filePath">生成声音文件的路径</param>
/// <param name="fileName">生成声音文件的名称</param>
private void CreateFile(string text, string filePath,string fileName)
{
    if (!Directory.Exists(filePath))
        Directory.CreateDirectory(filePath);
    SpVoice sv = new SpVoice();
    SpeechVoiceSpeakFlags SVSF = SpeechVoiceSpeakFlags.SVSFlagsAsync;
    SpeechStreamFileMode SSFM = SpeechStreamFileMode.SSFMCreateForWrite;
    SpFileStream SFS = new SpFileStream();
    SFS.Open(filePath+fileName, SSFM, false);
    sv.AudioOutputStream = SFS;
    sv.Speak(text, SVSF);
    sv.WaitUntilDone(System.Threading.Timeout.Infinite);
    SFS.Close();
}

2、 使用System.Speech

SpeechSynthesizer ss = new SpeechSynthesizer();
//播放
if (ss != null)
{
    ss.Dispose();
    ss.SpeakAsync("朗读的文本");
}
//暂停
if (ss.State == SynthesizerState.Speaking)
{
    ss.Pause();
}
//继续
if (reader.State == SynthesizerState.Paused)
{
    ss.Resume();
}
//停止
if (ss != null)
{
    ss.Dispose();

} 

  关闭本页
西部IT网合作伙伴 合作伙伴
陕西省 | 榆林 | 延安 | 铜川 | 渭南 | 商洛 | 宝鸡 | 汉中 | 安康 | 咸阳
网站首页 | 关于我们 | 售后服务 | 项目合同 | 查看留言 | 在线留言 | 客服中心
© 版权所有:西安润宇软件科技有限公司 
公司地址:西安市丝路国际创意梦工厂4号楼 联系电话:029-87878512 手机:13468700578 联系人:李先生
Copyright ® 2009-2020 RunYusoft.com Inc. All Rights Reserved 
技术支持:西安润宇软件科技有限公司  陕ICP备11000720号