录音和朗诵的实现

简介: 如何实现语音和朗诵的功能: using System; using System.Windows.Forms; using System.IO; using System.

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

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

    }
}

 

相关文章
|
7月前
|
API C++ Windows
c++实现waveinopen录音功能
这是一个简单的C++示例,使用 `waveInOpen`函数来录制音频数据,然后通过回调函数 `waveInProc`处理录音数据。需要注意的是,实际使用中可能需要更多的错误处理和资源管理。同时,这个示例是基于Windows的,使用了Windows Multimedia API来进行音频录制。 买CN2云服务器,免备案服务器,高防服务器,就选蓝易云。百度搜索:蓝易云
138 0
|
前端开发 JavaScript
uniapp 录音和播放功能
uniapp 录音和播放功能
394 0
|
存储 视频直播
FreeSwitch中的录像和录音设置
FreeSwitch中的录像和录音设置
Andorid通话自动录音
Andorid通话自动录音
215 0
Andorid通话自动录音
|
缓存 C++ 内存技术
C++ 采集音频流(PCM裸流)实现录音功能
与上一篇的“C++ 播放音频流(PCM裸流)” 点击打开链接 相对应,本篇是关于用C++实现录音功能的。同样是直接建一个win32控制台程序然后将代码拷过去改个文件名就可以用,也可以下载本人上传的相关工程,这个工程是用VS2013写的,如果是较低的版本就呵呵了。
2576 0
声音的录制
声音的录制 (一) —— 使用AVAudioRecorder进行录制(一)
999 0
|
Web App开发 API