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;
    }

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

  • 相关阅读:
    oracle proc 插入操作性能优化实践
    vmware 虚拟机共享文件夹无法显示问题解决
    oracle启动报错:ORA-03113
    c语言中sprintf()函数中的%使用
    c 的内存分配
    c实现队列
    c实现循环链表
    MantisBT导出Excel文件名显示中文的修改方法
    怎样通过Qt编写C/C++代码查询当前Linux的版本号?
    Kotlin Android Extensions: 与 findViewById 说再见 (KAD 04) -- 更新版
  • 原文地址:https://www.cnblogs.com/dingshuanglei/p/9676490.html
Copyright © 2011-2022 走看看