• 录音和朗诵的实现


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

    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("录音完毕");
                }
               
               
            }

        }
    }

    感谢来访,共同学习!
  • 相关阅读:
    俩人搞对象,山上骑马
    历史不会偏袒任何一个缺乏正义、良知的人。
    力量和对力量的控制
    超级管理员
    电信F412
    prim算法
    Maven pom.xml配置详解
    PorterDuffXfermode的用法
    使用MaskFilter
    Android drawText获取text宽度的三种方式
  • 原文地址:https://www.cnblogs.com/dingxiaowei/p/3058756.html
Copyright © 2020-2023  润新知