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