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

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

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

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-2015 RunYusoft.com Inc. All Rights Reserved 
技术支持:西安润宇软件科技有限公司  陕ICP备11000720号