给你一个在VC下的例子:播放系统中关机音乐PlaySound(TEXT("C:\\Windows\\Media\\Windows XP 关机wav"),NULL,SND_FILENAME|SND_ASYNC|SND_LOOP);
注意这个函数只能播放wav格式的音乐,还有别忘了#include <mmsystemh>
可以的。虽然C语言不像一些高级编程语言那样能更方便地进行资源管理和编写可读性较高的代码,但是 C 语言具有高度的可移植性和速度优势,这使其成为了很多 *** 作系统,嵌入式系统和其他性能要求高的系统中广泛使用的编程语言。因此,对于音乐演奏器这样需要较高的性能和功能开发的应用程序,C语言会是一种非常合适的选择。
要看播放什么音乐了噢,wav就单纯的读写数据就OK了。mp3就要再解码了。mp3没做过。
建议你先了解wav的文件格式,C程序是写分析wav的头文件,设置好声卡的属性,然后read文件,write声卡,网上有很多现成的代码。
这个程序可能是最简单的mp3播放器了。当然也谈不上什么功能。但是确实能播放。
链接时要指定库文件。VC++是vfw32lib, GCC是libvfw32a
我在VC60和GCC/MinGW 331下都通过了。
假设程序名是MyPlay, 目录下还有一个aaamp3, 运行MyPlay aaamp3即可。
注意Sleep(50000)是让他最多播放50秒。没有Sleep()的话,窗口一闪就退出了。
具体的MCI函数请查有关资料。
#include
#include
int main(int argc, char argv[])
{
if (argc>1) {
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++
你误解了。VC60不只是支持C++, 也支持C GCC更是C编译器,不是C++编译器。
这个程序是地地道道的C程序,没有一丁点儿 C++ 的成分。但是他调用了Windows API函数,所以必须用支持Windows编程的32位C编译器,不一定用VC或GCC。
很多人认为,刚学C语言最好用GCC或VC的命令行方式,但遗憾的大多教学用的C环境仍然选用20多年前的TC。如果坚持用16位的TC可以做一些事情,但在现在绝大多数事情是他做不到的
以上就是关于在c语言程序中播放音乐全部的内容,包括:在c语言程序中播放音乐、音乐演奏器毕业设计可以通过c语言编写嘛、想用c语言写个音乐播放器应该怎么着手求指导等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)