Private Declare Function Beep Lib "kernel32" (ByVal dwFreq As Long, ByVal dwDuration As Long) As Long
你需要自己写一个音阶的对照表
频率-音符
有一个函数关系,记不很清楚了,很早的一些资料有的
你需要自己写一个音阶的对照表
频率-音符
有一个函数关系,记不很清楚了,很早的一些资料有的
解决方案 »
- 问个小问题~~~很简单的~~
- 请高手指点,画线问题,急!!!!
- 如何开发 系统性能监视 程序(获取windows性能监视器中的值
- 请问那里有关DCS的详细资料或原代码?
- 怎么用VB编写DLL,请告知如何编写(举例)。
- 怎么查API函数的功能--在windows里或哪个帮助文件里面
- 请高手赐教!如何往ACCESS中存取Word文档!希望能提供源程序!谢谢!
- 请问vb中如何控制excel的增加删除数据,不要让他跳出替换文件对话框?
- 如何比较两个WORD或两个EXCEL文件有几处不一样
- 如何分部分对同一条记录进行修改?急需.
- 怎样将datagrid的数据导入word,然后打印 立即送分
- 时间函数的问题....
声音函数,它们都存放在Windows的SOUND.DRV这个驱动程序所包含的动态连接库
中。其中最常用的四个函数是OpenSound,CloseSound,SetVoiceNote,Start-
Sound。其声明格式如下:
Declare Function OpenSound Lib "Sound" () As Integer
Declare Sub CloseSound Lib "Sound" ()
Declare Function SetVoiceNote Lib "Sound" (ByVal nVoice As
Integer, ByVal nValue As Integer, ByVal nLength As Integer, ByVal
nCdots As Integer) As Integer
Declare Function StartSound Lib "Sound" () As Integer
在Visual Basic的通用过程中声明上述函数后,就可以象使用Visual Basic
自己的函数一样使用Windows的API函数。
下面给出一个例子,只需要在窗体中放置7个按钮组成的控件数组,调用上述
函数就可以简单的实现准确的音阶:
Sub Command1_Click (index As Integer)
a% = OpenSound()
Select Case index
Case 0: f = 37
Case 1: f = 39
Case 2: f = 41
Case 3: f = 42
Case 4: f = 44
Case 5: f = 46
Case 6: f = 48
End Select
call SetVoiceNote(1, f, 4, 0)
call StartSound()
End Sub
Declare Function Beep Lib "kernel32" Alias "Beep" (ByVal dwFreq As Long, ByVal dwDuration As Long) As Long
说明
用于生成简单的声音
返回值
Long,TRUE(非零)表示成功,否则返回零。会设置GetLastError
参数表
参数 类型及说明
dwFreq Long,声音频率(从37Hz到32767Hz)。在windows95中忽略
dwDuration Long,声音的持续时间,以毫秒为单位。如为-1,表示一直播放声音,直到再次调用该函数为止。在windows95中会被忽略
注解
在windows95中,这个函数简单的播放默认系统响铃