如何用C/C++编写一个音乐播放器? 不需要回答代码,能说说思路就行。
我来说说我的思路:
读取需要播放的文件
判断文件的类型 使用对应的解码函数(可以自己写 也可以调用的别人的库)(因为类型都有不同的格式)
装载文件到内存 利用声卡驱动程序(或是对应的发声函数)来播放
假设现在是在windows平台
您裂庆就可以利用 PlaySound函数来播放音乐 不过需要连接winmm.lib库而且需要包含头文件 mmsystem.h
好,现在我再举一个例子:(假设还是在windows平台)(这里渗游利用了Beep函数来播放简单声音)
#include <stdio.h>
#include <windows.h>
#include <conio.h>
int main()
{
char filename[1024];
FILE* fp;
int a = 0,b = 0;
printf("您需要播放什么文件:");
gets(filename);
fp = fopen(filename,"r");* 读取文件到内存 */
while(!ferror(fp) && fscanf(fp,"Beep(%d,%d)\n",&a,&b) == 2)/* 读取文件到内存 (按该文件制定的播放格式来播放)*/
{
Beep(a,b);/* 发声 */
}
fclose(fp);
fp = 0;
puts("播放完毕!");
getch();
return 0;
}
这个程序就是按我刚刚说的步骤来做的
要播放的文件使用了我自己肆喊握制定的音乐格式(呵呵 只是为了给你说清楚)(真正的音乐格式其实是2进制格式的 而不是这里的文本格式)(格式是这样的:
Beep(频率,播放时间) )