亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? player.c

?? MP3 Player Source Code
?? C
?? 第 1 頁 / 共 2 頁
字號:
  case UI_TREBLE: //Show treble bar    LcdSelectFont(lcdFont_barchars);    displayStyle = DS_PERCENTAGE;    strcpy(displayTitle,"Treble: ");    displayValue = (treble/5)*4;    if (displayValue<1) displayValue = 1;    break;  case UI_RECLEVEL: //Show recording level    if (playingState==PS_RECORDING){      LcdSelectFont(lcdFont_barchars);      displayStyle = DS_PERCENTAGE;      strcpy(displayTitle,"RecLevel");      displayValue = (reclevel);      if (reclevel==0){	strcpy(displayTitle,"RecLevel <Auto> ");	displayStyle = DS_RAWTEXT; //Reveal the "auto" text      }    }else{      //Not in recording      displayStyle = DS_NO_YES;      strcpy (displayTitle, "Record? ");    }    break;  case UI_SPEC: // Spectrum analyzer    if (playingState == PS_RECORDING){      uiMode++; //Don't show specana when recording    }    LcdSelectFont(lcdFont_vertical_barchars);    displayStyle = DS_RAWTEXT;    ScreenSetPlayTime();    // Request to read Spectrum Analyzer register    Mp3WriteRegister(7, 0x18, 0x04);    // Read Spectrum Analyzer registers    {      for (i=0;i<8;i++) { //for each band i in [0..7]	signed char thisband = Mp3ReadRegister(6);		/* thisband now has spectrum value 0..63. We adjust it a little	   for best image on the evakit LCD. You also get peak values	   etc from the chip but we don't use them in the evakit screen.	   we use 8 bands, but up to 23 are obtainable from the chip. */	thisband &= 63;                /* mask all but level info */	thisband >>= 1;                /* LCD resolution is not high */	thisband -= 3;                 /* base offset */ 	if (i==0) thisband -= 2;       /* decrease bass bar level */	if (i==6) thisband += 1;       /* increase treble bar level */	if (i==7) thisband += 1;       /* increase treble bar level */	if (thisband>7) thisband = 7;  /* high limit */	if (thisband<0) thisband =' '; /* low limit */	displayTitle[i+8] = thisband; //Store to display mem	      }//for each band    }    break;      } //switch(uiMode)      // Buttons handler  // Perform mode-dependent button handling  if ((KEY_BUTTON) && (uiReturnDelay < UI_RETURN_DELAY-20)){    LcdReset();    uiMode++;    uiReturnDelay = UI_RETURN_DELAY;  }  switch(uiMode){  case UI_TITLE:  case UI_SPEC:    if (KEY_FARRIGHT){      playingState = PS_NEXT_SONG; /* Request */    }          if (KEY_FARLEFT){      playingState = PS_PREVIOUS_SONG; /* Request */    }          break;  case UI_VOLUME:        if (KEY_FARLEFT){      uiReturnDelay = UI_RETURN_DELAY;      if (volume++ == 254) volume = 254; //Change + limit to 254 (minimum vol)      Mp3SetVolume(volume,volume);    }        if (KEY_FARRIGHT){      uiReturnDelay = UI_RETURN_DELAY;      if (volume-- == 0) volume = 0; //Change + limit to 0 (maximum volume)      Mp3SetVolume(volume,volume);    }    break; // UI_VOLUME  case UI_BASS:  case UI_TREBLE: //BASS and TREBLE use the same VS10xx register    bassUpdateNeeded = 0;        //First let's see if a key is pressed; does the user want to set level?    if (uiMode==UI_BASS){ //BASS screen is active      if (KEY_FARLEFT){	bassUpdateNeeded = 1;	if (bass-- == 0) bass = 0; //Change + limit to 0 (OFF setting)      }      if (KEY_FARRIGHT){	bassUpdateNeeded = 1;	if (bass++ == 127) bass = 127; //Change + limit to 127 (max setting)      }    }else{ //TREBLE screen is active            if (KEY_FARLEFT){	bassUpdateNeeded = 1; //SCI_BASS is for both bass and treble	if (treble-- == 0) treble = 0; //Change + limit to 0 (OFF setting)      }      if (KEY_FARRIGHT){	bassUpdateNeeded = 1; //SCI_BASS is for both bass and treble	if (treble++ == 127) treble = 127; //Change + limit to 127 (max)      }          }    if (bassUpdateNeeded){      unsigned int newBassRegister;      //User has pushed button to alter bass/treble register      //calculate new value      /** Bass/Treble setting calculation        *       * There are 2 or 4 adjustments possible:       * - Bass Frequency (1011B/E, 1002, 10x3) : 2..15 -> 20..1500 Hz       * - Bass boost (1011B/E, 1002, 10x3) : 0..15 -> 0ff..+15dB)       * - Treble Frequency (1011E, 10x3) : 0..15 -> 0..15kHz       * - Treble level (1011E, 10x3) : -8..+7 -> -12..+10.5dB       *        * In this software, all are adjusted based from a single setting       * (0..128) for bass and another for treble. You may wish to allow       * user to control frequency and level separately or set fixed       * frequencies for a known speaker type. This algorithm increases       * the frequency range of adjustment with the increasing level.       */             //Let's start from bass frequency setting.      //min(0) should give 2 (20Hz), max(127) should give 15 (150Hz)      newBassRegister = (bass + 23) / 10; //into bits 3..0, clear hibits            //Bass boost level.      //min(0) should give 0, max(127) should give 15      newBassRegister |= (bass>>3)<<4; //insert to bits 7..4      //Then the treble frequency      //min(0) should give 15(15kHx), max(127) should give 2(2kHz)      newBassRegister |= (((148-treble)>>3)+2)<<8; //insert into bits 11..8      //Finally the treble value (-8..7)      //min(0) should give -8, max(127) should give 7;      newBassRegister |= ((treble>>3)-8)<<12; //insert into bits 15..12                  uiReturnDelay = UI_RETURN_DELAY;      if (Mp3ReadRegister(SPI_BASS)!=newBassRegister){	Mp3WriteRegister(SPI_BASS,newBassRegister>>8,newBassRegister&0xff);      }      //i = newBassRegister;      //displayTitle[4] = lcd_hexchars[i>>12];      //displayTitle[5] = lcd_hexchars[(i>>8)&0x0f];      //displayTitle[6] = lcd_hexchars[(i>>4)&0x0f];      //displayTitle[7] = lcd_hexchars[i&0x0f];        }    break; // UI_BASS and UI_TREBLE  case UI_RECLEVEL:        if (playingState==PS_RECORDING){      if (KEY_FARRIGHT){	uiReturnDelay = UI_RETURN_DELAY;	if (reclevel++ == 100){	  reclevel = 100;	}	Mp3WriteRegister(SPI_AICTRL1,			 ((int)reclevel*32)>>8,((int)reclevel*32)&0xff);	SPIPutChar(0);SPIWait();      }            if (KEY_FARLEFT){	uiReturnDelay = UI_RETURN_DELAY;	if (reclevel-- == 0){	  reclevel = 0;	}	Mp3WriteRegister(SPI_AICTRL1,			 ((int)reclevel*32)>>8,((int)reclevel*32)&0xff);	SPIPutChar(0);SPIWait();      }    }else{      //Not in recording      if (KEY_FARRIGHT){	//Enter recording mode	playingState=PS_RECORDING; //request to record      }    }    break; // UI_RECLEVEL  case UI_STOP:        if (KEY_FARRIGHT){      playingState = PS_END_OF_SONG; /* Request to abort playing */    }          break; // UI_STOP      case UI_CUE:        if (playingState == PS_NORMAL){ /* Only control when PS_NORMAL */      if (KEY_FARRIGHT){	uiReturnDelay = UI_RETURN_DELAY; /* Don't go back to title just yet */	playingState = PS_CUE; /* Request */      }            if (KEY_FARLEFT){	uiReturnDelay = UI_RETURN_DELAY;	playingState = PS_REWIND; /* Request */      }          }    break; // UI_SKIP  case UI_END_OF_MODES:    uiMode = UI_TITLE;    break; // UI_END_OF_MODES      } //End Switch  // Draw screen  UpdateDisplay();}  /** Plays a disk file. Returns 1) if the file ends or 2) if the global    variable playingState is not PS_NORMAL i.e. user has requested     stop or next or previous.*/void PlayCurrentFile(){  xdata char c, nFragments;  playingState = PS_NORMAL; /* Request to play normally */  //uiMode = UI_SPEC; /* User interface: show title SPECANA FOR VS1003*/  LcdLocateHome();  LcdPutConstantString("Opening ");  ConsoleWrite ("Building file fragment table...");  nFragments = BuildFragmentTable(); /* Too slow, rewrite! */  ConsoleWrite("\rFragments: ");  ConsolePutUInt(nFragments);  LcdLocateHome();  LcdPutConstantString("Playing ");  for (c=0; c<nFragments; c++){    sectorAddress.l = fragment[c].start;    ConsoleWrite ("\rPlayer: Playing from sector ");    ConsolePutUInt (sectorAddress.l);    if (PlayDiskSectors(fragment[c].length)!=0){      Mp3WriteRegister(SPI_MODE,0,SM_OUTOFWAV);      SendZerosToVS10xx();      return; //return without touching the value of playingState    }  }  SendZerosToVS10xx();  // After finishing normally default to requesting to play next song          playingState = PS_NEXT_SONG;}/** Program Entry Point. * In the final program, main() should be very small. * Currently it's the playground for developing the player * functionality. Most of it will be cleared away to new * functions soon. */void main(){  unsigned int currentFile;  InitBoard();  // Start "User Interface" timer  ET0 = 1;  EA = 1;   TR0 = 1;  //LcdSplashScreen();   InitDisplay (DS_STATIC,"        ","        ",0);    ConsoleWrite ("\rVLSIPlayer\rStarting up.\r\r");       LcdReset();  LcdPutConstantString ("Filesys ");  LcdLocateLine2();  LcdPrintGenericResult (InitFileSystem());  Mp3Reset();  LoadPatch();  StartPatch();  // If left button is pressed during boot, enter recording.  if (KEY_FARLEFT){    while(KEY_LEFT)      ;    Record();  }  #ifdef VS1003  uiMode = UI_SPEC;   //For VS1003 default to SPECTRUM ANALYZER screen#else  uiMode = UI_TITLE;  //For others, default to TITLE screen#endif    playingState = PS_NEXT_SONG;  currentFile = 1;  while (1){    ConsoleWrite("SPMax: ");ConsolePutHex8(SPMax);    ConsoleWrite("PlayingState: ");ConsolePutHex8(playingState);    // has someone requested to record?    if (playingState == PS_RECORDING){      uiMode = UI_TITLE;      playingState = Record(); //record returns PS_NEXT_SONG or PS_RECORDING      while (KEY_BUTTON)	; //Wait until button is depressed      ConsoleWrite("\rFinished recording.\r");            currentFile = 1;      playingState == PS_NEXT_SONG;	    }            if (OpenFile(currentFile)){      currentFile = 1;      if (OpenFile(currentFile)){	LcdReset();	LcdPutConstantString("No files.");	while(1);      }    }       LcdReset();    LcdPutConstantString("File ");    LcdPutUInt(currentFile);    LcdLocateLine2();    for (temp.c=0; temp.c<8; temp.c++){      LcdPutChar(currentFileName[temp.c]);    }                while ((KEY_BUTTON)||(KEY_FARLEFT)||(KEY_FARRIGHT)||	   (KEY_LEFT)||(KEY_RIGHT))      ; /* Wait until no key is pressed */    while (((!KEY_BUTTON)&&(!KEY_FARLEFT)&&(!KEY_FARRIGHT))	   &&(playingState == PS_NORMAL))      ; /* Wait untis some key is pressed or playing state not normal*/        /* See if keystroke requests previous/next song */    if (KEY_FARLEFT) currentFile--;    if (KEY_FARRIGHT) currentFile++;    if (currentFile==0) currentFile = 1;    if (KEY_BUTTON || 	(playingState==PS_NEXT_SONG) || 	(playingState==PS_PREVIOUS_SONG)){      while (KEY_BUTTON)	;      PlayCurrentFile();      ConsoleWrite ("Playing state after playing is: ");      ConsolePutUInt (playingState);            if (playingState == PS_PREVIOUS_SONG) currentFile--;      if (playingState == PS_NEXT_SONG) currentFile++;      if (currentFile==0) currentFile = 1;      if (playingState == PS_END_OF_SONG) playingState = PS_NORMAL;                        Mp3SoftReset();      LoadPatch();      StartPatch();      while ((KEY_BUTTON)||(KEY_FARLEFT)||(KEY_FARRIGHT)||	     (KEY_LEFT)||(KEY_RIGHT))	; /* Wait until no key is pressed */    }      }   }

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
26uuu久久综合| 国产精品理论片| 国产女主播一区| 亚洲大片在线观看| 成人精品国产一区二区4080| 欧美一区二区三区在线看| 中文字幕精品综合| 国产尤物一区二区| 欧美精品123区| 亚洲精品老司机| av影院午夜一区| 亚洲精品一区二区三区四区高清| 国产高清一区日本| 日韩欧美国产综合| 日韩电影网1区2区| 欧美精品久久99久久在免费线| 国产农村妇女毛片精品久久麻豆| 日本不卡视频在线| 欧美日韩dvd在线观看| 亚洲男人的天堂一区二区| 国产黄色精品网站| 国产欧美一区二区三区网站 | 99久久久精品| 中文幕一区二区三区久久蜜桃| 捆绑变态av一区二区三区| 制服丝袜亚洲网站| 视频一区免费在线观看| 欧美三级中文字幕在线观看| 玉足女爽爽91| 欧美日韩在线三级| 亚洲h动漫在线| 欧美一区午夜精品| 久久国产麻豆精品| 26uuu色噜噜精品一区| 国产精品自在在线| 国产日韩av一区二区| 国产精品一区一区三区| 欧美国产一区视频在线观看| 成人av第一页| 亚洲一线二线三线视频| 欧美日韩精品二区第二页| 日韩国产在线一| 日韩午夜精品视频| 国产剧情在线观看一区二区| 国产无人区一区二区三区| 成人精品gif动图一区| 国产精品毛片无遮挡高清| 色婷婷一区二区| 亚洲18女电影在线观看| 欧美精品精品一区| 午夜欧美视频在线观看| 欧美一区二区视频网站| 国产在线精品视频| 国产精品久久久久久妇女6080| 91一区一区三区| 日欧美一区二区| 久久婷婷国产综合精品青草| 懂色av一区二区三区免费观看| 中文字幕在线一区二区三区| 欧美影院一区二区三区| 美女看a上一区| 欧美国产精品久久| 欧美影院午夜播放| 国产在线麻豆精品观看| 综合久久久久综合| 日韩一区二区免费在线观看| 国产成人无遮挡在线视频| 亚洲自拍另类综合| 2024国产精品| 色女孩综合影院| 欧美午夜寂寞影院| 久久超级碰视频| 亚洲柠檬福利资源导航| 日韩欧美激情四射| 色婷婷综合在线| 国产乱子轮精品视频| 亚洲女爱视频在线| 久久久久久久综合色一本| 在线影视一区二区三区| 九一久久久久久| 一级女性全黄久久生活片免费| 日韩免费观看高清完整版| www.亚洲精品| 紧缚奴在线一区二区三区| 亚洲欧美电影一区二区| 久久亚洲一区二区三区四区| 91蝌蚪porny| 国产a视频精品免费观看| 天天综合日日夜夜精品| 成人欧美一区二区三区黑人麻豆 | 欧日韩精品视频| 国产一区二区不卡在线| 亚洲一级片在线观看| 亚洲国产精品黑人久久久| 日韩午夜电影av| 欧美日韩免费在线视频| 99精品热视频| 高清国产一区二区| 精品一区二区三区在线观看国产 | 国产精品久久久一区麻豆最新章节| 欧美高清www午色夜在线视频| 97久久精品人人做人人爽 | 精品视频一区二区三区免费| 成人久久久精品乱码一区二区三区| 亚洲成人激情综合网| 亚洲精品国产成人久久av盗摄| 国产三级精品视频| 久久蜜桃一区二区| 精品对白一区国产伦| 91.com在线观看| 欧美性色黄大片| 欧美日韩亚洲国产综合| 91九色最新地址| 色诱视频网站一区| 色菇凉天天综合网| 色噜噜夜夜夜综合网| 色欧美片视频在线观看| 91丨porny丨在线| 91色porny在线视频| 日本黄色一区二区| 色噜噜夜夜夜综合网| 欧美私人免费视频| 欧美日韩午夜影院| 欧美一区二区女人| 精品欧美一区二区在线观看| 日韩美女视频在线| 久久久亚洲精品一区二区三区 | 91一区二区三区在线播放| 国产精品入口麻豆九色| 国产亚洲成aⅴ人片在线观看| 欧美性xxxxxx少妇| 色婷婷av一区二区三区gif| 成人丝袜18视频在线观看| 成人综合在线视频| 制服视频三区第一页精品| 欧美日韩一区二区三区视频| 日本美女一区二区三区| 另类人妖一区二区av| 国产一区二区三区久久悠悠色av| 国内外成人在线| 成人av在线网站| 欧美高清性hdvideosex| 国产亚洲精品精华液| 亚洲天堂网中文字| 日本色综合中文字幕| 国产福利不卡视频| 一本到不卡免费一区二区| 宅男在线国产精品| 国产欧美精品一区aⅴ影院 | 综合久久久久综合| 日韩av中文字幕一区二区三区| 国产一区在线不卡| 91久久国产最好的精华液| 欧美岛国在线观看| 国产精品日韩精品欧美在线| 亚洲妇女屁股眼交7| 九九在线精品视频| 91丨九色丨黑人外教| 日韩午夜在线观看| 亚洲欧美经典视频| 国产专区综合网| 在线观看不卡一区| 亚洲精品一线二线三线无人区| 亚洲精品成人a在线观看| 九色|91porny| 9191成人精品久久| 亚洲欧洲美洲综合色网| 狂野欧美性猛交blacked| 色欧美乱欧美15图片| 日本一区二区三区视频视频| 日韩中文字幕av电影| 91色|porny| 久久综合九色综合97婷婷女人| 亚洲卡通动漫在线| 国产成人av电影在线| 日韩精品一区二区三区四区 | 欧美系列亚洲系列| 中文幕一区二区三区久久蜜桃| 日韩不卡一区二区三区| 欧美怡红院视频| 亚洲嫩草精品久久| 不卡电影免费在线播放一区| 欧美电影免费观看高清完整版在| 亚洲国产精品影院| 色婷婷国产精品综合在线观看| 久久久不卡网国产精品二区| 美女国产一区二区三区| 欧美日韩1区2区| 成人午夜电影久久影院| 精品av综合导航| 老司机免费视频一区二区三区| 色吧成人激情小说| 依依成人综合视频| 色综合天天综合在线视频| 国产日韩综合av| 成人一级片网址| 国产精品国产馆在线真实露脸| 日韩中文字幕区一区有砖一区 | 一区二区三区精品视频在线| av不卡一区二区三区|