在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
多媒体程序设计是一个名不符实的词组,其道理就是多媒体程序设计包含着广泛的可能性,它尤其包括了Wave音频、MIDI音频、AVI视频和动画等。不要将多媒体程序设计与游戏程序设计混淆了。 游戏设计自然包含多媒体。但是比起简单的声音视频应用程序,它包含多媒体就更多了。接下来我在Delphi多媒体设计中利用Delphi提供的工作做一些工作。 通常关于Windows API函数谈论不多,因为大多数时候,VCL提供了比API更好的工作方法。然而,在包房WAVE文件时,没有比Win32 API的PlaySound函数更简单的。利用这个函数处理WAVE文件时非常容易的。首先需要做的就是把MmSystem单元增加到用户单元的uses列表中,然后用适当的参数调用PlaySound: PlaySound('test.wav', 0, SND_FILENAME or SND_ASYNC); 非常简单是不是?如大家所看到的,PlaySound的第一个参数是用来指定播放的音频文件,最后一个参数用来决定声音如何播放的标志。当播放硬盘上的WAVE文件时,指定SND_FILENAME作为最后一个参数。SND_ASYNC(异步播放)参数的意思是播放声音开始用户立刻获得其他操作权,如果不写这个参数,声音将会播放完成后用户获得操作权。 为此,特别编写了一个简单的范例,点击按钮后,播放音乐,弹出对话框,提示你是否终止音乐,如下图: PlaySound函数也可以播放系统声音和磁盘文件,要播放系统声音,指定声音别名作为第一个参数给PlaySound,而把SND_ALIAS最为标志参数,例如: PlaySound('WindowsLogon', 0, SND_ALIAS or SND_ASYNC); 这段代码播放与Windows启动事件相关联的系统声音,具体的系统事件声音的别名可在注册表中查找。
也为系统声音编写了小范例,如下图,点击按钮后,播放系统启动的声音。 如果所要求的声音未能找到,Windows将会发出缺省声音(若有缺省值则为叮声),可以通过制定SND_NODEFAULT标志来禁止Windows发出缺省声音。例如,若想要播放系统声音,但若找不到系统声音,不要发出缺省声音,可以试试这段代码: PlaySound('找不到', 0, SND_ALIAS or SND_ASYNC or SND_NODEFAULT); 注意:SND_ALIAS、SND_ASYNC和SND_NODEFAULT之间用or连接。
处理PlaySound函数时有两个其他的标志非常重要:
还有许多其他的标志可用来控制怎样用PlaySound播放声音。详情请自行参看Win32联机帮助中PlaySound部分。 以上代码均在Delphi 7中测试通过,示例代码下载:多媒体程序设计.rar |
2023-10-27
2022-08-15
2022-08-17
2022-09-23
2022-08-13
请发表评论