博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
录音和朗诵的实现
阅读量:6472 次
发布时间:2019-06-23

本文共 1619 字,大约阅读时间需要 5 分钟。

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

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

    }

}

 

更多
本文转自蓬莱仙羽51CTO博客,原文链接:http://blog.51cto.com/dingxiaowei/1366614
,如需转载请自行联系原作者
你可能感兴趣的文章
ORACLE分科目统计每科前三名的学生的语句
查看>>
第一次冲刺--查看活动详情用户场景分析
查看>>
0317复利计算的回顾与总结
查看>>
函数对象
查看>>
Sharepoint学习笔记—习题系列--70-573习题解析 -(Q70-Q72)
查看>>
最全最新个税计算公式---今天你税了吗?
查看>>
linux shell 正则表达式(BREs,EREs,PREs)差异比较(转,当作资料查)
查看>>
MongoDB--CSharp Driver Quickstart .
查看>>
#pragma mark 添加分割线 及 其它类似标记 - 转
查看>>
遗传算法实现自动组卷、随机抽题 (转)
查看>>
二分法求平方根(Python实现)
查看>>
使用startActivityForResult方法(转)
查看>>
so在genymotation中错误问题
查看>>
Visual Studio 原生开发的10个调试技巧(二)
查看>>
.NET标准来到Xamarin.Forms项目模板!
查看>>
Windows内核再次出现0Day漏洞 影响win2000到win10所有版本 反病毒软件恐成瞎子
查看>>
5G重塑网络 构建新生态下的大互联
查看>>
趋势科技技术分析:详解无文件勒索病毒Sorebrect
查看>>
H3C品牌刀片系统强势首发
查看>>
江门交警与高德地图战略合作引导市民智慧出行
查看>>