飘云阁

 找回密码
 加入我们

QQ登录

只需一步,快速开始

查看: 3098|回复: 1

VB之给你的程序加背景音乐

[复制链接]
  • TA的每日心情
    无聊
    2019-3-25 06:30
  • 签到天数: 1096 天

    [LV.10]以坛为家III

    发表于 2009-8-2 13:50:47 | 显示全部楼层 |阅读模式
    好多人都想给自己的程序加个背景音乐,但又不想附带个音乐文件,而想集成在一个程序中.
    那怎么实现呢?呵呵,简单的给大家讲一下.
    当然方法很多,以下仅是我个人喜欢用的方法.
    1.添加音乐文件
    由于不想附带音乐文件,所以只能把音乐文件集成在程序中,那就是添加资源文件
    首先,添加资源编辑器,然后把你所要加的音乐文件添加到资源中,接着保存即可!
    2.释放音乐文件
    要想播放音乐,当然得把音乐文件给释放出来,然后再去播放,(由于我不知道怎么直接播放资源中的音乐文件,所以只能用笨办法,呵呵) 程序代码Public Function SaveFileFromRes(vntResourceID As Variant, sType As String, sFileName As String) As Boolean
      Dim bytImage() As Byte
      Dim iFileNum As Integer
      On Error GoTo SaveFileFromRes_Err
      SaveFileFromRes = True
      
      bytImage = LoadResData(vntResourceID, sType)
      iFileNum = FreeFile

      Open sFileName For Binary As iFileNum
        Put #iFileNum, , bytImage
      Close iFileNum
      Exit Function
    SaveFileFromRes_Err:
      SaveFileFromRes = False: Exit Function
    End Function
    程序代码
    Private Sub Form_Load()
    SaveFileFromRes 101, "CUSTOM", "C:\WINDOWS\system32\1.mid"

    End Sub


    3.接着就是去播放你的音乐文件了
    我的思路是用WMP控件完成
    添加个WMP控件,由于是背景音乐,所以不能让别人看见你的播放器
    故把WMP的可见属性改为假
    然后在Form_Load事件中加下面这行播放代码即可 程序代码WindowsMediaPlayer1.URL = "C:\WINDOWS\system32\1.mid"OK,大致的过程就完成了,启动你的程序,应该就有背景音乐了吧.HOHO~
    下面接着来优化下代码:
    优化一:让背景音乐循环播放 程序代码
    Private Sub WindowsMediaPlayer1_PlayStateChange(ByVal NewState As Long)
    If NewState = 1 Then
    WindowsMediaPlayer1.Controls.play
    End If
    End Sub

    优化二:
    退出程序时把释放的音乐文件删除 程序代码
    Private Sub Form_Unload(Cancel As Integer)
    On Error Resume Next
    Kill "C:\WINDOWS\system32\1.mid"
    End Sub
    这样,就差不多了,大功告成!

    附件提供个完整的工程文件!

    1200862923527.rar

    16.1 KB, 下载次数: 10, 下载积分: 飘云币 -2 枚

    PYG19周年生日快乐!
  • TA的每日心情

    2016-6-2 20:34
  • 签到天数: 10 天

    [LV.3]偶尔看看II

    发表于 2009-8-5 18:06:44 | 显示全部楼层
    刚好利用一下这个代码,感谢,嘻嘻
    PYG19周年生日快乐!
    您需要登录后才可以回帖 登录 | 加入我们

    本版积分规则

    快速回复 返回顶部 返回列表