如何实现语音和朗诵的功能:

using System;
using System.Windows.Forms;
using System.IO;
using System.Media;
using System.Runtime.InteropServices;

namespace 播放TTS
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }
        //根目录
        string address = System.AppDomain.CurrentDomain.BaseDirectory;
        private void btnPlay_Click(object sender, EventArgs e)
        {
           
            foreach (string s in textBox1.Text.Split(' '))
            {
                //string wavFile = @".\Video" + s + ".wav";
                string wavFile = address+@"Video\" + s.ToLower() + ".wav";
                if (File.Exists(wavFile))
                {
                    SoundPlayer sp = new SoundPlayer(wavFile);
                    sp.PlaySync();
                }
            }
        }
        [DllImport("winmm.dll", EntryPoint = "mciSendString", CharSet = CharSet.Auto)]
        private static extern int mciSendString(
         string lpstrCommand,
         string lpstrReturnString,
         int uReturnLength,
         int hwndCallback
        );

        private static void mciSendString(String cmd)
        {
            mciSendString(cmd, "", 0, 0);
        }

        private static void StartRecord()
        {
            mciSendString("close movie");
            mciSendString("open new type WAVEAudio alias movie");
            mciSendString("record movie");
        }

        private static void StopRecord(string filename)
        {
            mciSendString("stop movie");
            mciSendString("save movie " + filename);
            mciSendString("close movie");
        }

        //开始录音
        private void btnBegin_Click(object sender, EventArgs e)
        {
            StartRecord();
        }

        private void btnStop_Click(object sender, EventArgs e)
        {
            string title = ttbTitle.Text;
            string saveAddress = address + @"\Video\" + title.ToLower() + ".wav";
            if (File.Exists(saveAddress))
            {
                MessageBox.Show("文件已存在,重命名");
            }
            else
            {
                StopRecord(saveAddress);
                MessageBox.Show("录音完毕");
            }
           
           
        }

    }
}

 

更多