C# 录音

永动bug制造机 2012-08-17 04:10:31
网上的资料大多数是使用DirectX实现

http://wenku.baidu.com/view/ca133642a8956bec0975e3ee.html

在运行的时候 只要form类里面有这个类名出现 就不显示窗体 也不报错误。求大神解答


private void button1_Click(object sender, EventArgs e)
{
try
{
MessageBox.Show("开始录音!");
SoundRecord record = new SoundRecord();
record.mWavFormat = record.SetWaveFormat();
record.CreateCaputerDevice();
record.CreateCaptureBuffer();
record.CreateWaveFile(@"E:\test.wav");
record.CreateNotification();
record.capturebuffer.Start(true);
Thread.Sleep(10000);
//record.StopRec();
MessageBox.Show("录音结束!");
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}

上面类名SoundRecord 在事件里 触发事件的时候就没反映了

如果类名直接在类里面 即使未实例化 窗体都不显示

private SoundRecord record = null;
private void button1_Click(object sender, EventArgs e)
{
try
{
MessageBox.Show("开始录音!");
record = new SoundRecord();
record.mWavFormat = record.SetWaveFormat();
record.CreateCaputerDevice();
record.CreateCaptureBuffer();
record.CreateWaveFile(@"E:\test.wav");
record.CreateNotification();
record.capturebuffer.Start(true);
Thread.Sleep(10000);
//record.StopRec();
MessageBox.Show("录音结束!");
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}
...全文
307 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
永动bug制造机 2012-08-17
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 的回复:]
据我所知c#本身没有SoundRecord类,你应该使用第三方库了。可能库有问题
[/Quote]
那是DirectX方法的类 贴上面有地址
matrixcl 2012-08-17
  • 打赏
  • 举报
回复
这篇文章应该有帮助
http://www.codeproject.com/Articles/67568/Creating-a-Sound-Recorder-in-C-and-C

使用MCI api实现的
matrixcl 2012-08-17
  • 打赏
  • 举报
回复
据我所知c#本身没有SoundRecord类,你应该使用第三方库了。可能库有问题

110,534

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧