以Windows为例,可以通过PlaySound函数播放wav格式的音乐。示例如下,代码在vc6.0中编译通过。
#include<stdio.h>
#include<windows.h>
#include<mmsystem.h>
#pragma
comment(lib,
"WINMM.LIB")
int
main()
{
PlaySound(TEXT("1.wav"),0,SND_FILENAME)
//1.wav是要播放的音乐文件
return
0
}
如果想播放mp3音乐可以使用如下代码。
注意:生成程序后,请在cmd中执行此程序,不要在vc/vs的IDE中运行。#include
<windows.h>
#include
<mmsystem.h>
#include
<stdio.h>
#pragma
comment(lib,
"Winmm.lib")
int
main(int
argc,
char
*argv[])
{
//绝对地址形式
TCHAR
fileName[]="ganlusi.mp3"
TCHAR
shortName[MAX_PATH]
GetShortPathName(fileName,shortName,sizeof(shortName)/sizeof(TCHAR))
TCHAR
cmd[MAX_PATH+10]
wsprintf(cmd,"play
%s",shortName)
mciSendString(cmd,NULL,
0,
NULL)
Sleep(5
*
60
*
1000)
//这里是防止一播放就结束做的延迟
return
0
}
用AudioServicesPlaySystemSound进行播放,代码如下:(wav文件名为end.wav)SystemSoundID ph
id sndpath = [[NSBundle mainBundle]pathForResource:@"end" ofType:@"wav" inDirectory:@"/"]
CFURLRef baseUrl = (__bridge CFURLRef)[NSURL fileURLWithPath:sndpath]
AudioServicesCreateSystemSoundID(baseUrl, &ph)
AudioServicesPlaySystemSound(ph)
可以使用PlaySound()函数播放声音文件,该函数原型位于#include <mmsystem.h>中,
函数原型为: BOOL PlaySound(LPCSTR pszSound, HMODULE hmod,DWORD fdwSound)
参数pszSound是要播放声音的文件名,
只支持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)
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)