引用资源管理器音乐文件

好多人都想给自己的程序加个背景音乐,但又不想附带个音乐文件,而想集成在一个程序中.
那怎么实现呢?呵呵,简单的给大家讲一下我用的方法:

要想播放音乐,当然得把音乐文件给释放出来,然后再去播放

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
'
'Copy Code
Private Sub Form_Load()
SaveFileFromRes 101, "CUSTOM", "C:\WINDOWS\system32\1.mid"
'
End Sub

接着就是去播放你的音乐文件了

我的思路是用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

这样就差不多了,暂时就用这种笨法子啦…

发表评论

电子邮件地址不会被公开。 必填项已用*标注

This site uses Akismet to reduce spam. Learn how your comment data is processed.