zoukankan      html  css  js  c++  java
  • 录音和朗诵的实现

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

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

        }
    }

    感谢来访,共同学习!
  • 相关阅读:
    iOS开发 | 自定义不规则label
    监控redis的操作命令
    HTML常用标签
    前端学习【第一篇】: HTML内容
    MySQL数据库修改字段的长度
    python模块之:paramiko
    使用pymysql操作mysql数据库
    Python开发【第九篇】: 并发编程
    JNI调用实例
    JVM性能调优入门
  • 原文地址:https://www.cnblogs.com/dingxiaowei/p/3058756.html
Copyright © 2011-2022 走看看