zoukankan      html  css  js  c++  java
  • C#文字转换语音朗读或保存MP3、WAV等格式

    最近遇到一个需求,需要把文字转换语音,参考很多大佬写的方法,最后经过自己改造实现文字在线朗读、保存MP3、WAV等格式。

    //需要引用System.Speech程序集
    //引用using System.Speech.Synthesis;

    在线朗读代码:

    /// <summary>
    /// 文字在线音频朗读
    /// </summary>
    /// <param name="readText">朗读文本</param>
    /// <returns></returns>
    public static bool TextRead(string readText)
    {
      var flag = false;

      if (!string.IsNullOrWhiteSpace(readText))
      {
        using (SpeechSynthesizer reader = new SpeechSynthesizer())
        {
          reader.SpeakAsync(readText);
          reader.Dispose();
          flag = true;
        }

        return flag;
      }
      else
      {
        return flag;
      }
    }

    保存MP3、WAV等格式:

    /// <summary>
    /// 文字转换mp3格式音频
    /// </summary>
    /// <param name="path">保存路径</param>
    /// <param name="input">输入文本</param>
    /// <returns></returns>
    public static bool TextVonvertToMP3(string path,string input)
    {
      input = input.Trim();
      if (!string.IsNullOrWhiteSpace(input))
      {
        using (SpeechSynthesizer reader = new SpeechSynthesizer())
        {

          reader.SetOutputToWaveFile(path+ input + ".mp3");
          reader.Speak(input);
          reader.SetOutputToDefaultAudioDevice();
          reader.Dispose();
        }
        return true;
      }
      return false;
    }

    注:忘记了参考文章出处,请各位大佬见谅!!!

  • 相关阅读:
    (82)zabbix如何选择适合的监控类型
    (80)zabbix性能优化中的几个建议
    (79)zabbix key总是not supported的解决方法
    (78)zabbix值缓存(value cache)说明
    Centos7搭建docker仓库
    centos7安装docker
    Win10调整MTU值
    nginx配置ssl证书
    CentOS7.6配置do.cker和K.B.S
    RAID阵列盘有一块状态变为外来处理方法
  • 原文地址:https://www.cnblogs.com/dingshuanglei/p/9676490.html
Copyright © 2011-2022 走看看