Music Player for LPC1768 and MAPLE Board

Dependencies:   SDFileSystem mbed

Committer:
marutsu
Date:
Mon Feb 03 08:58:23 2014 +0000
Revision:
0:b347ed8fee7f
mbed(LPC1768),MAPLE???,MARY-UB????????????????MicroSD????Music?????wave????????????

Who changed what in which revision?

UserRevisionLine numberNew contents of line
marutsu 0:b347ed8fee7f 1 #include "mbed.h"
marutsu 0:b347ed8fee7f 2 #include "SDFileSystem.h"
marutsu 0:b347ed8fee7f 3 #include "wave_player.h"
marutsu 0:b347ed8fee7f 4
marutsu 0:b347ed8fee7f 5 #include <iostream>
marutsu 0:b347ed8fee7f 6 #include <vector>
marutsu 0:b347ed8fee7f 7 #include <string>
marutsu 0:b347ed8fee7f 8
marutsu 0:b347ed8fee7f 9 SDFileSystem sd(p5, p6, p7, p20, "sd"); //SD card Slot
marutsu 0:b347ed8fee7f 10 AnalogOut DACout(p18); //Analog Output
marutsu 0:b347ed8fee7f 11 PwmOut sounder(p26); //PWM Sounder Output
marutsu 0:b347ed8fee7f 12 wave_player waver(&DACout, &sounder); //wave player object
marutsu 0:b347ed8fee7f 13
marutsu 0:b347ed8fee7f 14 int main() {
marutsu 0:b347ed8fee7f 15 string DIRPATH("/sd/Music");
marutsu 0:b347ed8fee7f 16 DIR *dir;
marutsu 0:b347ed8fee7f 17 struct dirent *entry;
marutsu 0:b347ed8fee7f 18 FILE *wave_file;
marutsu 0:b347ed8fee7f 19 vector<string> file_list;
marutsu 0:b347ed8fee7f 20 int num_file,i;
marutsu 0:b347ed8fee7f 21 string file_name;
marutsu 0:b347ed8fee7f 22
marutsu 0:b347ed8fee7f 23 dir = opendir(DIRPATH.c_str());
marutsu 0:b347ed8fee7f 24 if ( dir != NULL ) {
marutsu 0:b347ed8fee7f 25 while ( (entry = readdir(dir)) != NULL ) {
marutsu 0:b347ed8fee7f 26 file_list.push_back(entry -> d_name);
marutsu 0:b347ed8fee7f 27 }
marutsu 0:b347ed8fee7f 28 num_file = file_list.size();
marutsu 0:b347ed8fee7f 29 for(i = 0; i < num_file; i++){
marutsu 0:b347ed8fee7f 30 std::cout << "File No." << i + 1 << " " << file_list[i] << std::endl;
marutsu 0:b347ed8fee7f 31 }
marutsu 0:b347ed8fee7f 32 sounder.period(1.0/400000.0);
marutsu 0:b347ed8fee7f 33 while(1){
marutsu 0:b347ed8fee7f 34 std::cout << "Input File Number:";
marutsu 0:b347ed8fee7f 35 std::cin >> i;
marutsu 0:b347ed8fee7f 36 file_name = file_name.erase() + DIRPATH + "/" +file_list[i-1];
marutsu 0:b347ed8fee7f 37 wave_file=fopen(file_name.c_str(),"r");
marutsu 0:b347ed8fee7f 38 waver.play(wave_file);
marutsu 0:b347ed8fee7f 39 fclose(wave_file);
marutsu 0:b347ed8fee7f 40 }
marutsu 0:b347ed8fee7f 41 }
marutsu 0:b347ed8fee7f 42 closedir(dir);
marutsu 0:b347ed8fee7f 43 return 0;
marutsu 0:b347ed8fee7f 44 }