如何实现语音和朗诵的功能:
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("录音完毕");
}
}
}
}