展开全部
我们可以用VB来自己编一个不受时间限制的录音机,甚至连Windows API都可以不用就能够实现。下面笔者向大家介绍具体的实现方法:
1. 首先新建一个标准的EXE工程。我们需要两个Label控件,一个MMContrl控件,一个CommonDialog控件,一个Slider控件。两个 Label控件分别用来显示录音的总时间和当前的录音时间。MMContrl控件用来支持录音和播放,CommonDialog控件用来打开和保存声音文件,Slider控件是用来直观地显示录音机的状态。
注:MMContrl控件、CommonDialog控件和Slider控件都不是默认的内部控件,需要添加(在控件工具箱上用右键,选“部件”,在控件列中复选Microsoft Common Dialog Control 6.0(SP3)、Microsoft Multimedia Control 6.0 (SP3)、Microsoft Windows Common Controls 6.0)。
2. 主表单命名为frmMain;把Label控件命名为lblNow和lblTotal,Caption命名为“现在时间”和“总共时间”;把 MMContrl控件命名为mci,DeviceType设置为WAVEAudio,FileName设置为c:\windows\temp\ ~temp.wav(在Windows的临时文件夹中生成临时录音文件,该文件实际上并不存在);把CommonDialog控件命名为cdlg, Filter设置为 声音(波形)文件|*.wav;Slider控件命名为sld,Enable设置为False。
3.用菜单编辑器给主表单添加菜单,主菜单项只有一个“文件(mnuFile)”,次级菜单有“新建(mnuFileNew)”、“打开(mnuFileOpen)”、“另存为(mnuFileSaveAs)”,“退出(mnuFileExit)”。
4.一切准备就绪的话,就可以开始了,程序源代码如下:
Option Explicit
Dim blnDirty As Boolean
Dim intResult As Integer
Private Sub Form_Load()
mci.Command = "Open" '打开准备好的文件
mci.TimeFormat = 1 '时间格式设置为秒
blnDirty = False '预先把文件更改设置为否
End Sub
Private Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer)
If blnDirty = True Then
intResult = MsgBox("需要保存吗?", vbYesNoCancel + vbQuestion, "已经有更改!")
Select Case intResult
Case vbYes
cdlg.CancelError= True ’把取消错误打开
On Error GoTo ccancel ’设置错误拦截
cdlg.ShowSave
mci.FileName=cdlg.FileName
mci.Command="Save"
frmMain.MousePointer=11
mci.Command="close"
blnDirty=False
Case vbNo
mci.Command="close"
blnDirty=False
Case vbCancel
ccancel:
Cancel=1
End Select
frmMain.mousepointer=0
End If
End Sub
Private Sub mci_RecordClick(Cancel As Integer)
blnDirty = True
End Sub
Private Sub mci_StatusUpdate()
lblNow.Caption = "现在时间: " & mci.Position / 1000 & " 秒" '现在时间显示
lblTotal.Caption = "总时间: " & mci.Length / 1000 & " 秒" '总共时间显示
sld.Value = mci.Position / 1000 '滑动条的位置显示
If mci.Mode = mciModeRecord Then
If sld.Value = sld.Max Then '自动加时间
sld.Max=sld.Max + 10
End If
End If
End Sub
Private Sub mci_StopClick(Cancel As Integer)
If mci.Mode = mciModeRecord Then
If sld.Value > 0 Then'期间如果按下了stop键,那么去掉Slider多余的部分
sld.Max = sld.Value
End If
End If
End Sub
Private Sub mnuFileExit_Click()
Unload Me
End Sub
Private Sub mnuFileNew_Click()
If blnDirty = True Then ’如果正在录音的话
intResult = MsgBox("需要保存吗?", vbYesNo + vbQuestion, "已经有了修改!")
Select Case intResult
Case vbYes
cdlg.CancelError = True
On Error GoTo ccancel
cdlg.ShowSave
mci.FileName = cdlg.FileName
mci.Command = "Save"
frmMain.MousePointer = 11
GoTo ExitFileNew
Case vbNo
GoTo ExitFileNew
End Select
ccancel:
Exit Sub
End If
ExitFileNew:
frmMain.MousePointer = 0
mci.Command = "close"
mci.Command = "open"
blnDirty = False
End Sub
Private Sub mnuFileOpen_Click()
cdlg.CancelError = True
On Error GoTo CancelOpen
cdlg.ShowOpen
mci.Command = "close" ’打开新的文件之前先要关闭已经打开的播放/录音
mci.FileName = cdlg.FileName
frmMain.MousePointer = 11
mci.Command = "open"
blnDirty = False
frmMain.MousePointer = 0
CancelOpen:
Exit Sub
End Sub
Private Sub mnuFileSaveAs_Click()
cdlg.Flags=cdlOFNOverwritePrompt+cdlOFNNoChangeDir+cdlOFNHideReadOnly’确认保存是否覆盖原来的文件以及保存的位置是打开的位置、不显示“只读”复选
cdlg.ShowSave
mci.FileName = cdlg.FileName
frmMain.MousePointer = 11
blnDirty = False
frmMain.MousePointer = 0
End Sub
这样,我们的录音机程序就编写完了。大家还可以在这个基础上按照自己的喜好来做进一步的修改,这个录音机程序不仅可以录音,也可以播放,它是没有录音时间限制的。至于它究竟可以录多久,笔者尝试用它录制了一个长达3个小时的文件,是完全没有问题的。
1. 首先新建一个标准的EXE工程。我们需要两个Label控件,一个MMContrl控件,一个CommonDialog控件,一个Slider控件。两个 Label控件分别用来显示录音的总时间和当前的录音时间。MMContrl控件用来支持录音和播放,CommonDialog控件用来打开和保存声音文件,Slider控件是用来直观地显示录音机的状态。
注:MMContrl控件、CommonDialog控件和Slider控件都不是默认的内部控件,需要添加(在控件工具箱上用右键,选“部件”,在控件列中复选Microsoft Common Dialog Control 6.0(SP3)、Microsoft Multimedia Control 6.0 (SP3)、Microsoft Windows Common Controls 6.0)。
2. 主表单命名为frmMain;把Label控件命名为lblNow和lblTotal,Caption命名为“现在时间”和“总共时间”;把 MMContrl控件命名为mci,DeviceType设置为WAVEAudio,FileName设置为c:\windows\temp\ ~temp.wav(在Windows的临时文件夹中生成临时录音文件,该文件实际上并不存在);把CommonDialog控件命名为cdlg, Filter设置为 声音(波形)文件|*.wav;Slider控件命名为sld,Enable设置为False。
3.用菜单编辑器给主表单添加菜单,主菜单项只有一个“文件(mnuFile)”,次级菜单有“新建(mnuFileNew)”、“打开(mnuFileOpen)”、“另存为(mnuFileSaveAs)”,“退出(mnuFileExit)”。
4.一切准备就绪的话,就可以开始了,程序源代码如下:
Option Explicit
Dim blnDirty As Boolean
Dim intResult As Integer
Private Sub Form_Load()
mci.Command = "Open" '打开准备好的文件
mci.TimeFormat = 1 '时间格式设置为秒
blnDirty = False '预先把文件更改设置为否
End Sub
Private Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer)
If blnDirty = True Then
intResult = MsgBox("需要保存吗?", vbYesNoCancel + vbQuestion, "已经有更改!")
Select Case intResult
Case vbYes
cdlg.CancelError= True ’把取消错误打开
On Error GoTo ccancel ’设置错误拦截
cdlg.ShowSave
mci.FileName=cdlg.FileName
mci.Command="Save"
frmMain.MousePointer=11
mci.Command="close"
blnDirty=False
Case vbNo
mci.Command="close"
blnDirty=False
Case vbCancel
ccancel:
Cancel=1
End Select
frmMain.mousepointer=0
End If
End Sub
Private Sub mci_RecordClick(Cancel As Integer)
blnDirty = True
End Sub
Private Sub mci_StatusUpdate()
lblNow.Caption = "现在时间: " & mci.Position / 1000 & " 秒" '现在时间显示
lblTotal.Caption = "总时间: " & mci.Length / 1000 & " 秒" '总共时间显示
sld.Value = mci.Position / 1000 '滑动条的位置显示
If mci.Mode = mciModeRecord Then
If sld.Value = sld.Max Then '自动加时间
sld.Max=sld.Max + 10
End If
End If
End Sub
Private Sub mci_StopClick(Cancel As Integer)
If mci.Mode = mciModeRecord Then
If sld.Value > 0 Then'期间如果按下了stop键,那么去掉Slider多余的部分
sld.Max = sld.Value
End If
End If
End Sub
Private Sub mnuFileExit_Click()
Unload Me
End Sub
Private Sub mnuFileNew_Click()
If blnDirty = True Then ’如果正在录音的话
intResult = MsgBox("需要保存吗?", vbYesNo + vbQuestion, "已经有了修改!")
Select Case intResult
Case vbYes
cdlg.CancelError = True
On Error GoTo ccancel
cdlg.ShowSave
mci.FileName = cdlg.FileName
mci.Command = "Save"
frmMain.MousePointer = 11
GoTo ExitFileNew
Case vbNo
GoTo ExitFileNew
End Select
ccancel:
Exit Sub
End If
ExitFileNew:
frmMain.MousePointer = 0
mci.Command = "close"
mci.Command = "open"
blnDirty = False
End Sub
Private Sub mnuFileOpen_Click()
cdlg.CancelError = True
On Error GoTo CancelOpen
cdlg.ShowOpen
mci.Command = "close" ’打开新的文件之前先要关闭已经打开的播放/录音
mci.FileName = cdlg.FileName
frmMain.MousePointer = 11
mci.Command = "open"
blnDirty = False
frmMain.MousePointer = 0
CancelOpen:
Exit Sub
End Sub
Private Sub mnuFileSaveAs_Click()
cdlg.Flags=cdlOFNOverwritePrompt+cdlOFNNoChangeDir+cdlOFNHideReadOnly’确认保存是否覆盖原来的文件以及保存的位置是打开的位置、不显示“只读”复选
cdlg.ShowSave
mci.FileName = cdlg.FileName
frmMain.MousePointer = 11
blnDirty = False
frmMain.MousePointer = 0
End Sub
这样,我们的录音机程序就编写完了。大家还可以在这个基础上按照自己的喜好来做进一步的修改,这个录音机程序不仅可以录音,也可以播放,它是没有录音时间限制的。至于它究竟可以录多久,笔者尝试用它录制了一个长达3个小时的文件,是完全没有问题的。
展开全部
在窗体上画一个文本框、一个按钮
工程 部件 选中 Microsoft Internet Controls,在窗体中添加一个webbrowser
代码如下:
Private Sub Command1_Click()
WebBrowser1.Navigate Text1.text '打开文本一里面输入的网站
End Sub
Private Sub Form_Load()
WebBrowser1.Navigate "www.baidu.com" '打开程序时,打开的默认网站,可修改
End Sub
工程 部件 选中 Microsoft Internet Controls,在窗体中添加一个webbrowser
代码如下:
Private Sub Command1_Click()
WebBrowser1.Navigate Text1.text '打开文本一里面输入的网站
End Sub
Private Sub Form_Load()
WebBrowser1.Navigate "www.baidu.com" '打开程序时,打开的默认网站,可修改
End Sub
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
是要编写好的吗?通过QQ可以传递过去,然后下载可以.新学的,可以用人格保证无毒,因为跟本就不会!
如果想学习,建议百度查询( 边用边学vb6.0)视频教程,很容易掌握的.如果有不懂的我们可以相互学习.
如果要现成的代码:
第一讲、窗体现文字
属性设置:无。
涉及控件:无。
双击窗体会出现命令框
form 和 load
选
form\click
输入命令
Private Sub Form_Click()
Print "文字"
End Sub
再选form\dblclick
输入命令
Private Sub Form_DblClick()
Cls
End Sub
点击菜单位栏里的文件
生成工程1就可以了.
如果想学习,建议百度查询( 边用边学vb6.0)视频教程,很容易掌握的.如果有不懂的我们可以相互学习.
如果要现成的代码:
第一讲、窗体现文字
属性设置:无。
涉及控件:无。
双击窗体会出现命令框
form 和 load
选
form\click
输入命令
Private Sub Form_Click()
Print "文字"
End Sub
再选form\dblclick
输入命令
Private Sub Form_DblClick()
Cls
End Sub
点击菜单位栏里的文件
生成工程1就可以了.
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
什么功能都不说,别人怎么给你做啊!随便点一下窗口就退出也是一个程序啊~
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
不懂诶
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询