完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
前边的帖子已经使用CDK完成项目的新建及编译下载等!今天就自己增加一个自己再次看过这些资料图1后的小功能! 首先我们找到main函数入口!在如下文件位置图2: 打开它,新增如下函数完成从SD卡指定文件夹下读取所有文件,并记录在一个wav.txt 文件里! 函数如下: static void readFileListos(void) { int fd; NUM_OF_SONGS = 1; aos_msleep(10); aos_unlink("/fatfs0/wav.txt"); aos_msleep(10); fd = aos_open("/fatfs0/wav.txt", O_CREAT|O_RDWR | O_APPEND); aos_dir_t *dir = aos_opendir("/fatfs0/WAV"); aos_dirent_t *dp = NULL; do { dp = aos_readdir(dir); if (dp){ char songPath[200] = "file:///fatfs0/WAV/"; strcat(songPath, dp->d_name); NUM_OF_SONGS++; strcat(songPath, "n"); write(fd, songPath, sizeof(songPath)); printf("readdir: %sn", songPath); } } while (dp != NULL); aos_closedir(dir); close(fd); } 再创建一个函数,完成从wav.txt 文件里读取一个文件路径,函数如下: static void GetCurrentPath(void) { int16_t i = 0; char songPath[200]; int fd = aos_open("/fatfs0/wav.txt", O_RDONLY); printf("paly%d",fd); if (fd != 0) { printf("paly222n"); while (aos_read(fd, songPath,sizeof(songPath) ) > 0) { printf("paly222n"); if (i == currentSong) { int32_t len = strlen(songPath); songPath[len - 1] = ' |