如何在c语言程序中添加背景音乐?

如何在c语言程序中添加背景音乐?,第1张

用PlaySound 函数可以播放 .wav 格式音乐。\x0d\x0a例如 下面 播放 紫竹调.wav 格式音乐,它存放在 D:\\zzz\\zzd.wav \x0d\x0a其它音乐格式能不能播放,要试验一下才知道,也许不行,也许可以。\x0d\x0a#include \x0d\x0a#include \x0d\x0a#include \x0d\x0a#pragma comment(lib, "winmm.lib")\x0d\x0a\x0d\x0avoid main(){\x0d\x0aPlaySound (TEXT("D:\\zzz\\zzd.wav"), NULL, SND_ASYNC | SND_NODEFAULT)\x0d\x0a \x0d\x0awhile (1) \x0d\x0a{\x0d\x0a printf("program is running... here\n") //这里跑你的程序,按 Ctrl-C 组合键,结束程序。\x0d\x0a Sleep(1000) //休息1秒\x0d\x0a}\x0d\x0a\x0d\x0aexit(0)\x0d\x0a}

一.在程序中直接播放声音文件

在VC++ 中的多媒体动态连接库中提供了一组与音频设备有关的函数。利用这些函数可以方便地播放声音。最简单的播放声音方法就是直接调用VC++中提供的声音播放函数BOOL sndPlaySound ( LPCSTR lpszSound,UINT fuSound )或BOOL PlaySound( LPCSTR lpszSound, HMODULE hmod, DWORD fuSound )其中参数lpszSound是需要播放声音的.W***文件的路径和文件名, hmod在这里为NULL,fuSound是播放声音的标志,详细说明请参考VC++中的帮助。 例如播放C:soundmusic.wav可以用sndPlaySound ("c:\sound\music.wav",SND_ASYNC)或PlaySound("c:\sound\music.wav",NULL, SND_ASYNC|SND_NODEFAULT )如果没有找到music.wav文件,第一种格式将播放系统默认的声音,第二种格式不会播放系统默认的声音。

二.将声音文件加入到程序中

在VC++的程序设计中,可以利用各种标准的资源,如位图,菜单,对话框等。同时VC++也允许用户自定义资源,因此我们可以将声音文件作为用户自定义资源加入程序资源文件中,经过编译连接生成EXE文件,实现无.W***文件的声音播放。要实现作为资源的声音文件的播放,首先要在资源管理器中加入待播放的声音文件。

具体步骤入下:

1.获得包含资源的模块句柄:

HMODULE hmod=AfxGetResourceHandle()

2.检索资源块信息:

HRSRC hSndResource=FindResource(hmod,MAKEINTRESOURCE(IDR_W***E1),_T("W***E"))

3. 装载资源数据并加锁:

HGLOBAL hGlobalMem=LoadResource(hmod,hSndResource)

LPCTSTR lpMemSound=(LPCSTR)LockResource(hGlobalMem)

4.播放声音文件:

sndPlaySound(lpMemSound,SND_MEMORY));

5.释放资源句柄:

FreeResource(hGlobalMem)


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/11884071.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-19
下一篇 2023-05-19

发表评论

登录后才能评论

评论列表(0条)

保存