网站建设资讯

NEWS

网站建设资讯

c语言中打开音乐文件函数 c语言播放音乐的代码

C语言中PlaySound函数如何播放MP3文件?

可以使用PlaySound()函数播放声音文件,

目前创新互联建站已为成百上千的企业提供了网站建设、域名、网络空间、网站托管、企业网站设计、安溪网站维护等服务,公司将坚持客户导向、应用为本的策略,正道将秉承"和谐、参与、激情"的文化,与客户和合作伙伴齐心协力一起成长,共同发展。

该函数原型位于#include mmsystem.h中,

因此要使用PlaySound,首先需要添加对这个头文件的引用。

提示:mm就是MultiMedia的简写,多媒体

【1、函数使用说明】

函数原型为: BOOL PlaySound(LPCSTR pszSound, HMODULE hmod,DWORD fdwSound);

返回值表示是否播放成功。

参数pszSound是要播放声音的文件名,

只支持WAV等格式的文件(应该不能播放MP3格式文件);

你可以去mp3.baidu.com用“wav”为关键词可以搜到很多wav音乐,

也可以用工具将其他格式的转换为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语言播放音乐的函数定义

调用DOS命令,让 Windows Media Player 帮你播放

下面播放 "zzd.wav"

你若有别的格式文件,Windows Media Player 能识别的都可以播放。

#include stdio.h

void play_wav(char *s){

char cm[100];

sprintf(cm,"mplay32.exe /play %s",s);

system(cm);

}

main()

{

char s[100]="zzd.wav";

play_wav(s);

getchar();

return 0;

}

怎样用C语言编程打开一个文件(比如mp3,mp4)

可以使用PlaySound()函数播放mp3音频,该函数原型位于windows.h。

PlaySound函数的声明为:

BOOL PlaySound(LPCSTR pszSound, HMODULE hwnd,DWORD fdwSound);

参数pszSound是指定了要播放声音的字符串。

参数hwnd是应用程序的实例句柄,除非pszSound的指向一个资源标识符(即fdwSound被定义为SND_RESOURCE),否则必须设置为NULL。

参数fdwSound是标志的组合,如下表所示。若成功则函数返回TRUE,否则返回FALSE。

使用PlaySound函数时需要在#includewindows.h后面加上(注意:不能加在前面):

例程:

CFileDialog dlg(TRUE, "mp3", "*.mp3", OFN_HIDEREADONLY|OFN_ALLOWMULTISELECT, "mp3文件(*.mp3)|*.mp3|");

/*创建选择对话框,让用户从文件夹中选取一个MP3文件*/

int iRet = dlg.DoModal();//获得对话框返回值

if(IDOK == iRet) //如果返回值成功,表明成功获取一个MP3文件

{

CString pathName= dlg.GetPathName(); //得到文件的路径名称

PlaySound( pathName , NULL, SND_FILENAME | SND_ASYNC);//用playsound函数播放该文件

}


分享文章:c语言中打开音乐文件函数 c语言播放音乐的代码
文章网址:http://cdweb.net/article/dddgdpd.html