在一个用C语言设计的音乐播放器中已经设计好了音乐的播放,但如何设计音乐的播放顺序
音乐路径读取到一个数组中,可以采用如下方法:
1.顺序播放,从0到N-1遍历数组
2.随机播放,生成0到N-1的随机数,用随机数取音乐(注意每轮播放时,在取随机数时不能有重复)
参考代码:
#include <stdio.h>
#include <io.h>
#include <string.h>
#include <time.h>
#include <stdlib.h>
#define maxn 100
int main (void)
{
char buf[maxn][20]={0};
int nmb = 0;
int index = 0; //随机数
//遍历目录下的MP3文件
_finddata_t fileDir;
char* dir="d:\\test\\*.mp3";
long lfDir;
srand((unsigned)time(NULL)); //设置随机数种子
if((lfDir = _findfirst(dir,&fileDir))==-1l)
printf("No file is found\n");
else{
do{
strcpy(buf[nmb++],fileDir.name);
}while( _findnext( lfDir, &fileDir ) == 0 );
}
_findclose(lfDir);
//顺序遍历
for (index = 0; index < nmb;index++)
{
printf("%s\n",buf[index]);
}
//随机遍历:可以自己加个限制,是否可以重复播放等
while(1)
{
index = rand()%nmb; //生成0-nmb-1的数
printf("%s\n",buf[index]);
}
return 0;
}
音乐的播放顺序是什么意思?你可以把文件名称读取到数组里面,下标加一就按顺序播放了。