1、用 VB 制作一款自己的录音机风轻云淡笔者说明:1:程序中的分计时,当分60 时,仍然继续往上加,不要紧的,仍然能继续录音;2:一旦停止录音后,需要先保存后,才能继续录音,3:录制的文件为 Wav 格式,如果需要 MP3 格式的话,可以通过另外的软件转换;4:笔者制作录音机的本意并非想用于长时间的录音这个用途,所以,并不想在这方面多花时间考虑;作者的原意是有别的用途的,现在公布出来与朋友们分享,也真诚的希望编程爱好者加以改进,除此之外,作者诚恳敬请程序设计的前辈和老师们指点一下:作者的原意是:当话筒有输入并达到一定的峰值时,便启动录音机开始录音;当没有信号时,便停止录音,而且保存这个已经被录下
2、的音频信到预先约定的文件夹下;问题的关键是笔者现在并不知道在 VB 里,如何获取到话筒的信号?代码又如何写?怎样在程序界面上显示和调整?所以:诚恳敬请程序设计的前辈和老师们指点:怎样才能得到话筒的音频信号,并且加上显示以及调整的办法。先谢谢了!一:首先在 VB 中添加 MMControl 控件和CommonDialog1 控件。二:添加六个标签,四个按钮和一个计时器,其Caption 设置为:如下图所示:三:开始编写各个控件的代码:1:在“通用”部分声明变量Dim miaojishi As Long 秒计时变量Dim fengjishi As Long 分计时变量2:录音按钮代码:Privat
3、e Sub Command1_Click() 录音MMControl1.DeviceType = “WaveAudio“ 打开设备的类型MMControl1.FileName = “d:record.wav“ 零时文件以及位置, 【“d:record”可以随意确定,看你自己的爱好了】MMControl1.Command = “open“ 打开MMControl1.Command = “record“ 录音命令-开始录音Label1.Caption = “正在录音“Timer1.Interval = 1000Timer1.Enabled = TrueCommand3.Enabled = Fals
4、eCommand2.Enabled = TrueCommand1.Enabled = FalseEnd Sub3:停止按钮的代码Private Sub Command2_Click() 停止MMControl1.Command = “stop“Timer1.Enabled = Falsemiaojishi = 0fengjishi = 0Command3.Enabled = TrueLabel1.Caption = “录音已经停止“Command1.Enabled = FalseCommand2.Enabled = FalseEnd Sub4:保存按钮的代码:Private Sub Comma
5、nd3_Click() 保存CommonDialog1.Filter = “音频文件(*.wav)|*.wav|“CommonDialog1.DialogTitle = “保存我的音频文件“CommonDialog1.Action = 2MMControl1.FileName = CommonDialog1.FileNameMMControl1.Command = “save“Command1.Enabled = FalseCommand2.Enabled = FalseLabel1.Caption = “正在保存录音文件“MsgBox (“文件保存完毕“)Label1.Caption = “
6、可以开始录音了“Command1.Enabled = TrueCommand2.Enabled = FalseCommand3.Enabled = FalseLabel3.Caption = 0Label5.Caption = 0miaojishi = 0fengjishi = 0End Sub5:退出的代码Private Sub Command4_Click() 退出MMControl1.Command = “close“ 释放资源EndEnd Sub6:窗体加载的代码Private Sub Form_Load() 初始化MMControl1.Visible = FalseTimer1.Enabled = FalseCommand3.Enabled = FalseCommand2.Enabled = FalseLabel1.Caption = “可以开始录音了“End Sub6:计时器的代码Private Sub Timer1_Timer()miaojishi = miaojishi + 1Label5.Caption = miaojishiIf miaojishi = 60 ThenMiaojishi=0fengjishi = fengjishi + 1Label3.Caption = fengjishiEnd IfEnd Sub