+ -
当前位置:首页 → 问答吧 → 请教个关于beep函数的问题

请教个关于beep函数的问题

时间:2011-07-27

来源:互联网

分别写了两个简单的程序,一个用vb自带的beep函数,另一个用api声明的beep函数,将程序打包安装的另一台笔记本电脑上用beep函数的程序听到“当”的一声;用api beep函数的程序没有声音。
另外,将使用api beep的程序安装到安装过vb6.0的电脑上时使用正常;安装到没有安装过vb的台式机上时可以听到主板上小喇叭发出声音,耳机或音箱没有声音。
请教高手,怎么样使api beep的程序打包安装到任意一台电脑上时使耳机或音箱发声,而不是主板上的小喇叭发音。

作者: malleen   发布时间: 2011-07-27

不可能!看这个:
VB code

Option Explicit

Private Declare Function Beep Lib "kernel32" (ByVal dwFreq As Long, ByVal dwDuration As Long) As Long
Private Sub Form_Activate()
    Dim Cnt As Long
    For Cnt = 0 To 500 Step 10
        Beep Cnt, 50
        Me.Caption = Cnt
        DoEvents
    Next Cnt
End Sub


作者: Veron_04   发布时间: 2011-07-27

vb中的Beep,如果不能调用声卡发声(声卡驱动未装正确或其它原因),beep将使主板上的小喇叭发声,而且呼叫的频率与时间长短取决于硬件和系统软件,并随电脑不同而不同。
api的Beep,将只使用主板上的小喇叭发声,频率与时间长短取决于取决于你给的参数.

如果你想让音箱发声,可以考虑api 中PlaySound 函数,该函数简单易用

作者: c_cyd2008   发布时间: 2011-07-27

api的beep打包之后能在安装过vb的电脑上通过音箱或者耳机发声,频率和长短可控,但是在未安装vb的电脑上没有声音,不知道是不是我打包的问题,自带的打包工具和setup factory打包结果一样!

作者: malleen   发布时间: 2011-07-27

引用 3 楼 malleen 的回复:
api的beep打包之后能在安装过vb的电脑上通过音箱或者耳机发声,频率和长短可控,但是在未安装vb的电脑上没有声音,不知道是不是我打包的问题,自带的打包工具和setup factory打包结果一样!

不是音箱,是主板上的小喇叭

作者: Veron_04   发布时间: 2011-07-27

不是吧,我用api beep调试的时候声音明显从耳机出的

作者: malleen   发布时间: 2011-07-27

不知道你整样调用的,你先试试这样会不会出错:

VB code

Beep
Beep 1000,200

作者: c_cyd2008   发布时间: 2011-07-27

同时的时候会报错,报beep参数不正确,因为声明了api beep

作者: malleen   发布时间: 2011-07-27

是Beep出错还是Beep 1000,200出错?

作者: c_cyd2008   发布时间: 2011-07-27

beep出错

作者: malleen   发布时间: 2011-07-27

只留下Beep 1000,200 ,听听声音从什么地方发出

作者: c_cyd2008   发布时间: 2011-07-27

耳机和音箱出

作者: malleen   发布时间: 2011-07-27

热门下载

更多