+mp3

Dependencies:   mbed

Fork of VS1053 by SGMP Coperations

Revision:
4:5b1bd3cca8dc
Parent:
3:94b538ace77a
Child:
5:ce3a3ce60f30
diff -r 94b538ace77a -r 5b1bd3cca8dc player.cpp
--- a/player.cpp	Sun Dec 10 07:14:12 2017 +0000
+++ b/player.cpp	Mon Dec 11 12:29:47 2017 +0000
@@ -3,11 +3,14 @@
 
 SDFileSystem sd(D11, D12, D13, D9, "sd"); // the pinout on the mbed Cool
 vs10xx vs1053(D11, D12, D13, D6, D7, D2, D8);//mosi,miso,sclk,xcs,xdcs,dreq,xreset
-Serial pc(USBTX, USBRX);
+Serial aa(USBTX, USBRX);
+Serial pc(D1, D0);
 playerStatetype  playerState;
-static unsigned char fileBuf[32768];
+static unsigned char fileBuf[48000];
 unsigned char *bufptr;
 char green;
+bool startplaysong;
+bool playsong;
 
 char list[20][50];            //song list
 
@@ -22,7 +25,7 @@
    
     vs1053.reset();
     dir = opendir("/sd");
-    printf("\r\n**********playing list**********\r\n");
+    //printf("\r\n**********playing list**********\r\n");
     unsigned char i = 0,j=0;
     while(((ptr = dir->readdir()) != NULL)&&(i <20))
     {
@@ -37,7 +40,7 @@
                     				list[i][j++]  = *byte++;
                     				green=i;
                 }
-                pc.printf("%2d . %s\r\n", i,list[i++]);
+                aa.printf("%2d . %s\r\n", i,list[i++]);
 				//fp->close();
 							}
         }
@@ -47,14 +50,50 @@
 
 
 
+
+
+/*  select file by num.  */
+void Player::selectfile(char n){
+    startplaysong=false;
+    playerState =PS_STOP;
+    playsong=false;
+    green = n;
+    }
+    
+    
+    
+/*  This function stop an audio file.  */
 void Player::stop(void){
+    startplaysong=true;
     playerState =PS_STOP;
     }
     
+void Player::run(void){
+	if(pc.readable()){
+			
+			char datainput;
+			
+			if(datainput=='1'){
+				selectfile(1);
+    			stop();
+				}
+			if(datainput=='2'){
+				selectfile(2);
+    			stop();
+				}
+	}
+}
 
 
+
+void Player::read(void){
+	pc.readable();
+
+    }
+
     
-/*  This function plays back an audio file.  */
+    
+/*  This function plays audio file.  */
 void Player::playFile(char *file) {
     int bytes;        // How many bytes in buffer left
     char n;
@@ -74,8 +113,7 @@
         printf("Playing %s ...\r\n",file);
         
         /* Main playback loop */
-        while((bytes = fp->read(fileBuf,32768)) > 0) {
-        while((bytes = fp->read(fileBuf,32000)) > 0) {
+        while((bytes = fp->read(fileBuf,48000)) > 0) {
         {
             bufptr = fileBuf;
             // actual audio data gets sent to VS10xx.
@@ -96,7 +134,6 @@
                 vs1053.softReset();
             }
             	
-				}
 			}
         }
     }