多媒体函数c语言 多媒体程序( 五 )


C 语言:能不能用C语言编写程序来播放音频文件?一.在程序中直接播放声音文件
在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);
C语言中PlaySound函数如何播放MP3文件?可以使用PlaySound()函数播放声音文件多媒体函数c语言 , 
该函数原型位于#include mmsystem.h中,
因此要使用PlaySound多媒体函数c语言,首先需要添加对这个头文件的引用 。
提示:mm就是MultiMedia的简写,多媒体
【1、函数使用说明】
函数原型为: BOOL PlaySound(LPCSTR pszSound, HMODULE hmod,DWORD fdwSound);
返回值表示是否播放成功 。
参数pszSound是要播放声音的文件名,
只支持WAV等格式的文件(应该不能播放MP3格式文件)多媒体函数c语言;
多媒体函数c语言你可以去mp3.baidu.com用“wav”为关键词可以搜到很多wav音乐,
也可以用工具将其多媒体函数c语言他格式的转换为wav格式的 。
参数hmod是应用程序的实例句柄,一般传递NULL就可以;
参数fdwSound是标志的组合掩码,
可选值有SND_FILENAME、SND_ASYNC、SND_SYNC等 。
SND_FILENAME表示pszSound参数指定的是文件名(pszSound还可以指定资源、内存音乐、系统音乐等等);
SND_ASYNC:用异步方式播放声音,PlaySound函数在开始播放后立即返回;
SND_SYNC:同步播放声音,在播放完后PlaySound函数才返回;
SND_LOOP一遍遍的重复播放声音,必须与SND_ASYNC标志一块使用 。
【2、使用举例】
PlaySound(TEXT("C:\\WINDOWS\\Media\\Windows XP 启
动.wav"),NULL,SND_FILENAME|SND_SYNC);
注意的问题:文件名中的反斜线要用“\\”,
因为C语言中“\”默认是转义符,
如果要表示“\”则需要使用“\\” , 
对这点不明白的请回去翻一下C语言的书;
对中文字符串要使用TEXT宏 。
关于多媒体函数c语言和多媒体程序的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站 。

推荐阅读