今天给各位分享c语言如何播放音频文件夹的知识,其中也会对c语言怎么调用音频文件进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!
本文目录一览:
1、C语言播放音频文件的问题….2、C语言 怎么编程播放WAV音乐3、如何用C语言编程打开磁盘上的音乐文件4、C语言声音文件播放
C语言播放音频文件的问题….
可以使用PlaySound()函数播放wav声音,该函数原型位于windows.h中,
函数原型为:
BOOL
PlaySound(LPCSTR
pszSound,
HMODULE
hmod,DWORD
fdwSound);
参数pszSound是指定了要播放声音的字符串,该参数可以是WAVE文件的名字,或是WAV资源的名字,或是内存中声音数据的指针,或是在系统注册表WIN.INI中定义的系统事件声音。如果该参数为NULL则停止正在播放的声音。
参数hmod是应用程序的实例句柄,当播放WAV资源时要用到该参数,否则它必须为NULL。
参数fdwSound是标志的组合,各种可选的标志及意义如下所示。若成功则函数返回TRUE,否则返回FALSE。
播放标志以及含义:
SND_APPLICATION
用应用程序指定的关联来播放声音。
SND_ALIAS
pszSound参数指定了注册表或WIN.INI中的系统事件的别名。
SND_ALIAS_ID
pszSound参数指定了预定义的声音标识符。
SND_ASYNC
用异步方式播放声音,PlaySound函数在开始播放后立即返回。
SND_FILENAME
pszSound参数指定了WAVE文件名。
SND_LOOP
重复播放声音,必须与SND_ASYNC标志一块使用。
SND_MEMORY
播放载入到内存中的声音,此时pszSound是指向声音数据的指针。
SND_NODEFAULT
不播放缺省声音,若无此标志,则PlaySound在没找到声音时会播放缺省声音。
SND_NOSTOP
PlaySound不打断原来的声音播出并立即返回FALSE。
SND_NOWAIT
如果驱动程序正忙则函数就不播放声音并立即返回。
SND_PURGE
停止所有与调用任务有关的声音。若参数pszSound为NULL,就停止所有的声音,否则,停止pszSound指定的声音。
SND_RESOURCE
pszSound参数是WAVE资源的标识符,这时要用到hmod参数。
SND_SYNC
同步播放声音,在播放完后PlaySound函数才返回。
************************************************************
例如我想播放在C:\WINDOWS\Media目录中的
Windows
XP
启动.wav
文件
程序如下:
#include
windows.h
#include
stdlib.h
int
main(int
argc,
char*
argv[])
{
PlaySound(“C:\\WINDOWS\\Media\\Windows
XP
启动.wav”,
NULL,
SND_FILENAME
|
SND_ASYNC);
system(“pause”);
return
0;
}
C语言 怎么编程播放WAV音乐
可以使用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);
如何用C语言编程打开磁盘上的音乐文件
这个程序可能是最简单的mp3播放器了。当然也谈不上什么功能。但是确实能播放。
链接时要指定库文件。VC++是vfw32.lib,
GCC是libvfw32.a.
我在VC6.0和GCC/MinGW
3.3.1下都通过了。
假设程序名是MyPlay,
目录下还有一个aaa.mp3,
运行MyPlay
aaa.mp3即可。
注意Sleep(50000)是让他最多播放50秒。没有Sleep()的话,窗口一闪就退出了。
具体的MCI函数请查有关资料。
#include
#include
int
main(int
argc,
char*
argv[])
{
if
(argc1)
{
HWND
MyPlayer
=
MCIWndCreate(NULL,GetModuleHandle(NULL),
0,
argv[1]);
MCIWndPlay(MyPlayer);
Sleep(50000);
}
return
0;
}
这个程序还可以播放MIDI,
AVI,
WMV,
MPG等影音文件。
如果只是后台播放MIDI或MP3,不想显示那个没有用的窗口,把MCIWndCreate()第三个参数0改成WS_POPUP即可。
如果想精确控制Sleep()至MP3播放结束,可以改成
Sleep(MCIWndGetLength(MyPlayer));
对于mp3,
MCIWndGetLength()返回值的单位是毫秒,可以直接用于Sleep()延时。
对于mpg,
MCIWndGetLength()返回值的单位是帧数,还要转换成毫秒才能用于Sleep().
具体MCIWndGetLength()返回值的单位是什么,可以调用MCIWndGetTimeFormat()来查询。
是C,不是C++
更不是Vc++
你误解了。VC6.0不只是支持C++,
也支持C.
GCC更是C编译器,不是C++编译器。
这个程序是地地道道的C程序,没有一丁点儿
C++
的成分。但是他调用了Windows
API函数,所以必须用支持Windows编程的32位C编译器,不一定用VC或GCC。
很多人认为,刚学C语言最好用GCC或VC的命令行方式,但遗憾的大多教学用的C环境仍然选用20多年前的TC。如果坚持用16位的TC可以做一些事情,但在现在绝大多数事情是他做不到的
C语言声音文件播放
用C语言播放音乐,一般需要额外的库或者调用系统的API函数。
以Windows为例,可以通过PlaySound函数播放wav格式的音乐。示例如下,代码在vc6.0中编译通过。
#includestdio.h
#includewindows.h
#includemmsystem.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;
}
c语言如何播放音频文件夹的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于c语言怎么调用音频文件、c语言如何播放音频文件夹的信息别忘了在本站进行查找喔。