怎么能让一个窗体能有音乐呢?

解决方案 »

  1.   

    http://www.vbforums.com/showthread.php?s=&threadid=198088&highlight=sound
      

  2.   

    播放背景音乐,最好是把音乐放在资源文件中,用API函数PlaySound或者sndPlaySound直接播放资源即可。而且可以循环播放:
    Option ExplicitPrivate Declare Function sndPlaySound Lib "winmm.dll" Alias "sndPlaySoundA" (lpszSoundName As Any, ByVal uFlags As Long) As Long
    Private Declare Function SafeArrayGetDim Lib "oleaut32.dll" (ByRef saArray() As Any) As Long 'API判断数组为空或没有初始化Private Const SND_ASYNC = &H1 '异步播放,否则就独占播放
    Private Const SND_NODEFAULT = &H2 '不使用缺省声音
    Private Const SND_MEMORY = &H4 '指向一个内存文件
    Private Const SND_FILENAME = &H20000 '指向一个实际文件
    Private Const SND_LOOP = &H8 '循环播放
    Private Const SND_ALIAS_START = 0 '结束播放Dim B() As Byte'定义资源
    Dim IniArray As Long '判断数组B()是否初始化Private Sub Command1_Click() '播放内存资源
        B = LoadResData(101, "CUSTOM")
        IniArray = SafeArrayGetDim(B)
        sndPlaySound B(0), SND_ASYNC Or SND_NODEFAULT Or SND_MEMORY Or SND_LOOP
    End SubPrivate Sub Command2_Click() '停止播放并释放内存资源
        If IniArray > 0 Then 
           sndPlaySound B(0), SND_ALIAS_START
           Erase B '释放动态数组所使用的内存资源 
        endif 
    End Sub
      

  3.   

    请问你是有vb6.0的吧,我很想学vb6.0,但我们老师教的是vb2005,command我好像没见过,但我看过6.0是命令的意思吗?你的代码很好啊,但我不知道能不能在vb2005中实现呢
      

  4.   

    建议学学DirectSound,或者直接用Windows API:
    BOOL WINAPI PlaySound( 
      LPCSTR pszSound, 
      HMODULE hmod, 
      DWORD fdwSound 
    );
      

  5.   

    可以,改成VB2005的格式就可以了。Command1 改成 Button1;API声明作相应修改,Long类型改成Integer,Any类型改成Object。
      

  6.   

    不用控件,直接API也可以~~
    到下载里搜搜,估计不少代码
      

  7.   

    可以,改成VB2005的格式就可以了。Command1 改成 Button1;API声明作相应修改,Long类型改成Integer,Any类型改成Object。8楼,我依你这样说的去改了,但是还有一个疑问是你还没定义LoadResData是什么意思,数组B我改为string类型,byte类型不可以
      

  8.   

    LoadResData 函数
          用以从资源 (.res) 文件装载若干可能类型的数据,并返回一个 Byte 数组。语法LoadResData(index, format)LoadResData 函数的语法包含下列部分:部分 描述 
    index 必需的。一个整数或字符串,它用来指定资源文件中数据的标识符 (ID)。ID 标识符为 1 的资源保留给应用程序的图标。 
    Format 必需的。一个数值,它用来按照下列“设置值”中的描述,指定返回数据的原始格式。该数值也可以是用户定义资源的字符串名。 
    设置值用于 format 的设置值有: 设置 描述 
    1 光标资源 
    2 位图资源 
    3 图标资源 
    4 菜单资源 
    5 对话框 
    6 字符串资源 
    7 字体目录资源 
    8 字体资源 
    9 加速键表 
    10 用户定义资源 
    12 群组光标 
    14 群组图标 
    说明LoadResData 从资源文件装载的数据可以达到 64K。对位图、图标、光标资源类型使用 LoadResData 将返回包含该资源中的实际二进制位的字符串。如果想使用实际的位图、图标或资源,请使用 LoadResPicture oˉêy.LoadResData 的使用对于 Visual Basic 应用程序本地化有好处,这是因为需要翻译的资源在一个资源文件中被隔离,并且无须访问源代码或重新编译该应用程序。