如何封装很多音频文件并且让VB随时调用?
vb吧
全部回复
仅看楼主
level 8
feixunwb 楼主
问题如题,我看暴雪的魔兽争霸游戏里就有MPQ文件,能封装图片和声音,不知道VB或者有其他方法实现这个功能么?前提是能让VB调用。希望有人回答下,感激不尽!
2013年05月16日 01点05分 1
level 8
feixunwb 楼主
唉。。。几天了,都没个人回答,或者有其他方法也行啊。。。有人么?
2013年05月18日 08点05分 2
level 13
他们都内存载入播放的吧?找找dll
我记得有个内存播放音频文件的dll忘记叫啥了
2013年05月18日 08点05分 3
2023年02月24日 13点02分
level 8
feixunwb 楼主
难道你们学编程不写软件么?难道你们写软件不用声音和图片么?难道你们用图片和声音过大不用打包么?哇哈哈。。。就是没有人回答
2013年05月23日 12点05分 4
sndPlaySound PlayWav(0), SND_ASYNC Or SND_NODEFAULT Or SND_MEMORY 这里的PlayWav(0)是byte类型的数组变量。其实你可以把很多的wav文件合并。然后装入数组。播放的时候只需要从第x个字节播放到第x个字节即可
2013年05月23日 12点05分
level 8
lz
会使用资源文件吗?
LoadResPicture(101, vbResIcon) '加载图标
LoadResPicture(101, vbResBitmap) '加载位图
LoadResPicture(101, vbResCursor) '加载光标
LoadResString(101) '加载字符串
LoadResData(101,"CUSTOM") '加载类型为"CUSTOM"的资源
sndPlaySound 函数只能支持播放wav格式的声音
要加载其他格式的需要自己百度一下
2013年05月23日 13点05分 5
我有内存播放wav、mp3、wma、wmv的例子,要的话加QQ群112915633(记得备注一个哦)
2023年02月24日 13点02分
level 9
把Resource封装进EXE,然后运行时楼上
2013年05月23日 14点05分 6
level 7
多简单点事
自己设计个简单的打包格式不就得了,顺便加上压缩,还能减小体积
2013年05月23日 14点05分 7
level 11
把文件读入变量数组里,然后保存一个文件,多个文件就记录文件的开头位置和长度,读取时截取出来就行
2013年05月23日 14点05分 8
level 1
一、原理:封装在.exe文件中的音频文件是不能直接打开的,在使用时需要将这个音频文件释放出来,再调用电脑默认的播放器进行播放,在关于文件时,自动删除释放出来的文件。
音频文件有.MP3、.WAV等多种格式,我这里用.WAV格式进行举例。当然,不管是什么格式,需要电脑本身安装有这个格式的播放器。
二、加载:打开VB-工具-资源编辑器(若没有,则在外接程序-外接程序管理器-找到“资源编辑器”并双击-确定)
打开VB6资源编辑器后,在工具栏找到“添加自定义资源”图标,点击后弹出“打开一个自定义资源”对话框,在“查找范围”选择你想要添加的资源(如.MP3、.WAV等)所在文件夹,在正文列表框内再选择你指定的文件,然后点击"打开",即完成音乐的加载。
三、控件设置:在窗口添加两个按钮即可。
四、代码编写如下:
Private Declare Function mciExecute Lib "winmm.dll" (ByVal lpstrCommand As String) As Long
Private Sub Form_Load()Dim appexe() As ByteDim filenum As Longappexe = LoadResData(101, "CUSTOM") '这里的101是标识号,"CUSTOM"是类型,这个就是和你自定义资源属性里写的一一对应filenum = FreeFileOpen "d:\1.wav" For Binary As #filenum '将加载在exe文件里的音乐释放到D盘,并命名为1.wav文件On Error Resume Next '忽略错误Put #1, , appexeClose #filenumEnd Sub
Private Sub Command1_Click()mciExecute "play d:\1.wav" '播放wav文件End Sub
Private Sub Command2_Click() '停止播放wav文件mciExecute "stop d:\1.wav"End Sub
Private Sub Form_Unload(Cancel As Integer)mciExecute "stop d:\1.wav"Kill "d:/1.wav" '退出时删除释放的wav文件End Sub
2023年02月24日 05点02分 9
有些格式的音频文件需要调用第三方dll,但对于wav在工程资源里添加也是可以的,不需要释放,API sndPlaySound就可以直接播放资源中的wav
2023年02月24日 08点02分
你好好看看我这个要不要释放外部文件?https://tieba.baidu.com/p/6319074533
2023年02月24日 14点02分
level 12
好帖
2023年02月24日 11点02分 10
1