VB程序中加入声音和图像
请问如何在VB程序中加入声音和图片?是嵌入到exe文件中的那种,不仅仅是提供一个路径而已,谢谢!!按四楼的方法是可以,但怎么每次运行后都会产生一个temp.mp3啊???...
请问如何在VB程序中加入声音和图片?是嵌入到exe文件中的那种,不仅仅是
提供一个路径而已,谢谢!!
按四楼的方法是可以,但怎么每次运行后都会产生一个temp.mp3啊???而且关掉窗口时还会报错“类型不匹配” 。这种方法还是会产生一个.res文件啊,我的意思是能不能把它也整合到.exe里面啊?最后只有一个exe文件。 展开
提供一个路径而已,谢谢!!
按四楼的方法是可以,但怎么每次运行后都会产生一个temp.mp3啊???而且关掉窗口时还会报错“类型不匹配” 。这种方法还是会产生一个.res文件啊,我的意思是能不能把它也整合到.exe里面啊?最后只有一个exe文件。 展开
4个回答
展开全部
给你举个例子吧
填写代码之前要做的事
打开VB - (菜单)外接程序-外接程序管理器,找到VB 6 资源编辑器 把“加载/卸载”的对号点上,确定。 然后在(菜单)外接程序的下边就可以看到 VB 6 资源编辑器的小图标了。 点击资源编辑器 - 添加自定义资源,添加一首歌曲 ,如果是第一个文件,标识号就是“101” 下边代码引用的就是101。然后把代码复制到窗体里。
提示让保存的就保存。 生成exe文件后歌曲就在exe里了。
添加的控件为 windowsmediaplayer1
'窗体代码
Dim sTempMp3Path As String
Private Sub Form_Load()
Dim bMp3() As Byte
sTempMp3Path = App.Path & "\temp.mp3"
bMp3 = LoadResData(101, "CUSTOM")
Open sTempMp3Path For Binary Access Write As #1
Put #1, , bMp3
Close #1
WindowsMediaPlayer1.Url = sTempMp3Path
End Sub
Private Sub Form_Unload(Cancel As Integer)
Kill sTempMp3Path
End Sub
-------------------------------------------------------------------
-------------------------------------------------------------------
temp.mp3是临时使用文件,使用后会自动删除。这个文件的意义是,先把音乐文件释放出来,然后再调用,不想看到它的话,可以把释放目录改一下。
例如:把sTempMp3Path = App.Path & "\temp.mp3"改为sTempMp3Path = "C:\windows\temp.mp3" 。这样的话临时文件就会产生在C:\windows\目录下。不过关闭程序后会删除这个文件,释放在哪都是一样的。
类型不匹配错误,我测试的是没有,你看看是哪里没有弄好。
res是资源文件,当你生成EXE文件时,资源文件就已经和EXE文件为一体了。这时候你可以删除RES资源文件而不会影响使用。
程序运行必须有控件或其他文件支持,只有一个EXE文件的应该是安装程序。打包可以使程序只生成一个EXE的安装程序。或者你的程序根本没有用上控件。
填写代码之前要做的事
打开VB - (菜单)外接程序-外接程序管理器,找到VB 6 资源编辑器 把“加载/卸载”的对号点上,确定。 然后在(菜单)外接程序的下边就可以看到 VB 6 资源编辑器的小图标了。 点击资源编辑器 - 添加自定义资源,添加一首歌曲 ,如果是第一个文件,标识号就是“101” 下边代码引用的就是101。然后把代码复制到窗体里。
提示让保存的就保存。 生成exe文件后歌曲就在exe里了。
添加的控件为 windowsmediaplayer1
'窗体代码
Dim sTempMp3Path As String
Private Sub Form_Load()
Dim bMp3() As Byte
sTempMp3Path = App.Path & "\temp.mp3"
bMp3 = LoadResData(101, "CUSTOM")
Open sTempMp3Path For Binary Access Write As #1
Put #1, , bMp3
Close #1
WindowsMediaPlayer1.Url = sTempMp3Path
End Sub
Private Sub Form_Unload(Cancel As Integer)
Kill sTempMp3Path
End Sub
-------------------------------------------------------------------
-------------------------------------------------------------------
temp.mp3是临时使用文件,使用后会自动删除。这个文件的意义是,先把音乐文件释放出来,然后再调用,不想看到它的话,可以把释放目录改一下。
例如:把sTempMp3Path = App.Path & "\temp.mp3"改为sTempMp3Path = "C:\windows\temp.mp3" 。这样的话临时文件就会产生在C:\windows\目录下。不过关闭程序后会删除这个文件,释放在哪都是一样的。
类型不匹配错误,我测试的是没有,你看看是哪里没有弄好。
res是资源文件,当你生成EXE文件时,资源文件就已经和EXE文件为一体了。这时候你可以删除RES资源文件而不会影响使用。
程序运行必须有控件或其他文件支持,只有一个EXE文件的应该是安装程序。打包可以使程序只生成一个EXE的安装程序。或者你的程序根本没有用上控件。
展开全部
使用资源编辑器,在 外接程序——外接程序管理器——双击资源编辑器——确定,此时在外接程序下方多出一个图标,就是最后那个,点击打开,在最后第二个,添加自定义资源,选择所需声音文件。加入下面代码
'通用部分
Private Declare Function sndPlaySound Lib "winmm.dll" Alias "sndPlaySoundA" (lpszSoundName As Any, ByVal uFlags As Long) As Long
Private Const SND_SYNC = &H0&
Private Const SND_ASYNC = &H1&
Private Const SND_LOOP = &H8&
Private Const SND_MEMORY = &H4&
Private Const SND_NODEFAULT = &H2&
Private Const SND_NOSTOP = &H10&
Private Sub Command1_Click()
bArr = LoadResData(100, "CUSTOM")
sndPlaySound bArr(0), SND_MEMORY Or SND_ASYNC
End Sub
Command1_Click中的100是文件在资源编辑器中的标识号,可按需要更改
'通用部分
Private Declare Function sndPlaySound Lib "winmm.dll" Alias "sndPlaySoundA" (lpszSoundName As Any, ByVal uFlags As Long) As Long
Private Const SND_SYNC = &H0&
Private Const SND_ASYNC = &H1&
Private Const SND_LOOP = &H8&
Private Const SND_MEMORY = &H4&
Private Const SND_NODEFAULT = &H2&
Private Const SND_NOSTOP = &H10&
Private Sub Command1_Click()
bArr = LoadResData(100, "CUSTOM")
sndPlaySound bArr(0), SND_MEMORY Or SND_ASYNC
End Sub
Command1_Click中的100是文件在资源编辑器中的标识号,可按需要更改
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
程序可以加载声音文件和图像资源,难道不成用程序自己编写音乐文件和图片?
加载图片你可以用Image或Picture之类,用loadpicture(文件路径)来实现。
加载声音你可以用API函数sndPlaySound(文件路径,标记)来实现。
或是按一楼的方法,使用资源绑定到文件中加载也行。
加载图片你可以用Image或Picture之类,用loadpicture(文件路径)来实现。
加载声音你可以用API函数sndPlaySound(文件路径,标记)来实现。
或是按一楼的方法,使用资源绑定到文件中加载也行。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
使用资源文件,把图片和声音都绑到文件中,在form_load()事件中再释放出来。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询