苏飞论坛
标题: 利用DirectX写的录音机软件怎么才能再次录音? [打印本页]
作者: 十九天 时间: 2013-8-9 10:59
标题: 利用DirectX写的录音机软件怎么才能再次录音?
本人C#新手,前些天在DirectX基础上用C#写了个录音软件,但是不知为什么不能够第二次录音,就是在结束第一次录音后只有关闭后重新调试才能够再次录音,否则会出现异常。怎么样才能够不关闭调试情况下再次录音?using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Threading;
using System.IO;
using Microsoft.DirectX;
using Microsoft.DirectX.DirectSound;
namespace SoundRecord
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
label2.Text = "录音状态—准备录音";
}
private SoundRecord recorder = new SoundRecord();
int hourStart, minuteStart, secondStart;////用于存储开始时刻的时分秒
private void btnStart_Click(object sender, EventArgs e)
{
hourStart = DateTime.Now.Hour; ////获取开始时刻的系统当前时间
minuteStart = DateTime.Now.Minute;
secondStart = DateTime.Now.Second;
string wavfile = "test.wav";
recorder.SetFileName(wavfile);
recorder.RecStart();////录音开始
timer1.Start();////计时开始
}
private void btnStop_Click(object sender, EventArgs e)
{
timer1.Stop();////计时结束
label2.Text = "录音状态—录音结束";
try
{
recorder.RecStop();////录音结束
}
catch (Exception ex)
{
MessageBox.Show("请不要直接或者连续点击停止按钮!");
return;
}
recorder = null;
}
private void timer1_Tick(object sender, EventArgs e)
{
int i1, i2, i3;
i1 = DateTime.Now.Hour - hourStart;
i2 = DateTime.Now.Minute - minuteStart;
i3 = DateTime.Now.Second - secondStart;
if (i3 < 0)
{
i3 = i3 + 60;
i2 = i2 - 1;
}
label2.Text = "录音状态—正在录音:" + i1.ToString() + ":" + i2.ToString() + ":" + i3.ToString();
}
}
}
还有个SoundRecord.cs文件(在网上下载,太长,此处放不下了),其中录音开始和停止都是在这里面的,希望大神能够指点啊!
作者: 站长苏飞 时间: 2013-8-9 17:48
把所有的变量和对象都从新生成,一下,就是重新New一下,应该是没有释放的原因。
重新打开其实也就是重新生成了 一次,根据这个想法找找原因
作者: 十九天 时间: 2013-8-20 17:40
谢啦,这个问题已经解决了,问题在于record类全局new了,应该在开始录音时new才行!
作者: 十九天 时间: 2013-8-20 17:50
站长您好!谢谢您上次给的思路,对于我的这个录音的软件,怎么才能实时显示录音的wav音频的波形文件呢?
作者: 站长苏飞 时间: 2013-8-20 17:53
你现在能获取波形文件吗?如果能当获取到了直接更新界面,可以使用线程加委托的方法。
http://www.sufeinet.com/forum.ph ... hlight=%CF%DF%B3%CC
作者: 十九天 时间: 2013-8-20 18:16
现在俺就是一枚小菜鸟,用已有的wav文件绘制图形也有些困难,站长大哥,用已有的wav文件绘制图形需要用到哪些东西啊?您给指条明路吧!
作者: 站长苏飞 时间: 2013-8-20 18:28
(, 下载次数: 189)