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

? 歡迎來(lái)到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? voice_task.c

?? 單片機(jī)學(xué)習(xí)資料主要講述MP3開(kāi)發(fā) 適合初學(xué)者進(jìn)行開(kāi)發(fā)學(xué)習(xí)
?? C
?? 第 1 頁(yè) / 共 2 頁(yè)
字號(hào):
  
          default:
            break;
        }
        gl_key_press = FALSE;               /* ack key usage */
      }
      break;
    }


    case VOICE_PLAY_PAUSE:                  /* one file openned */
    {
      if (gl_key_press)                     /* a key is pressed? */
      {
        switch (gl_key)
        {
          case KEY_PLAY:
            disp_clock_start();             /* restart clock timer */
            voc_play_start();               /* restart sample request */
            print_state_play();             /* display play icon */
            voice_state = VOICE_PLAY;
            break;

          case KEY_NEXT:
            voc_play_stop();
            Fclose();
            file_seek_next(FILE_WAV, TRUE); /* select next message with loop */
            print_file_name();              /* display file name */
            voice_state = VOICE_IDLE;
            break;

          case KEY_PREV:
            voc_play_stop();
            Fclose();
            file_seek_prev(FILE_WAV, TRUE);       /* select previous message */
            print_file_name();              /* display file name */
            voice_state = VOICE_IDLE;
            break;

          case KEY_INC:
            voc_inc_volume();               /* increment volume */
            print_voice_vol(Voc_get_volume());  /* display new level */
            break;

          case KEY_DEC:
            voc_dec_volume();               /* decrement volume */
            print_voice_vol(Voc_get_volume());  /* display new level */
            break;

          case KEY_STOP:
            voc_play_stop();                /* stop playing */
            Fclose();
            voice_state = VOICE_PLAY_STOP;
            break;

          default:
            break;
        }
        gl_key_press = FALSE;               /* ack key usage */
      }
      break;
    }


    case VOICE_PLAY_NEW:
    {
      voice_state = VOICE_PLAY_INIT;        /* new message */
      print_file_name();                    /* display file name */
      break;
    }


    case VOICE_PLAY_STOP:
    {
      disp_clock_reset();                   /* reset clock timer */
      print_file_type();                    /* display wav icon */
      disp_end_of_play();
      voice_state = VOICE_IDLE;
      break;
    }

    case VOICE_NO_MSG:
    {
      if (gl_key_press)                     /* a key is pressed? */
      {
        switch (gl_key)
        {
          case KEY_MEM:
            mem_select_next();              /* select next memory */
            voice_state = VOICE_START;
            break;

        case KEY_PLAY:
        print_state_play();
        voice_state = VOICE_PLAY_STOP;
        break;

          case KEY_REC:
            voice_state = VOICE_REC_INIT;
            break;

          case KEY_MODE:
            mode_set_init();                /* exit from voice task */
            voice_state = VOICE_START;
            break;
        }
        gl_key_press = FALSE;               /* ack key usage */
      }
      else
      { /* check card presence */
        if (mem_check_card() == KO)
        {
          mem_select_next();
          voice_state = VOICE_START;        /* card has been unplugged */
        }
      }
      break;
    }


    case VOICE_REC_INIT:
    {
      disp_clock_reset();                   /* reset clock timer */

      for (i = 255; i  != 0; i--)
      {
        voice_buffer[i] = 0x00;
      }
      voice_buffer[0] = 0x00;

      if (File_entry_root(FILE_WAV) == OK)  /* WAV file in root dir? */
      {
        do
        {
          (char *)file_name = File_get_name();    /* Get file name */
          if ((file_name[0] == 'V') &&
              (file_name[1] == 'O') &&
              (file_name[2] == 'I') &&
              (file_name[3] == 'C') &&
              (file_name[4] == 'E') &&
              ((file_name[5] >= '0') && (file_name[5] <= '9')) &&
              ((file_name[6] >= '0') && (file_name[6] <= '9')) &&
              ((file_name[7] >= '0') && (file_name[7] <= '9'))  
              )
          {
            /* Calculate actual index */
            i =  (Byte)(file_name[5] - '0') * 100;
            i += (Byte)(file_name[6] - '0') * 10;
            i += (Byte)(file_name[7] - '0') * 1;
            voice_buffer[i] = 0xFF;
          }
        }
        while (File_goto_next() == OK);   /* Do it still we have not reached the last file */
      }
      else
      {
        file_name = buff;
      }

      i = 0;
      if (voice_buffer[i] != 0x00)
      {
        i++;
        while ((voice_buffer[i] != 0x00) && (i != 0)) i++;  /* determine a free index */
      }

      if (voice_buffer[i] == 0)           /* Find a free indice ? */
      {
        file_name[0] = 'V';
        file_name[1] = 'O';
        file_name[2] = 'I';
        file_name[3] = 'C';
        file_name[4] = 'E';
        file_name[5] = '0' + (i / 100);
        file_name[6] = '0' + ((i % 100) / 10);
        file_name[7] = '0' + (((i % 100) % 10));
        file_name[8] = 'W';
        file_name[9] = 'A';
        file_name[10] = 'V';

        if (Fcreate(file_name, ATTR_FILE) != OK)     /* Create file */
        {
           voice_state = VOICE_ERROR;
        }
        else
        {
          print_file_name();                  /* display new file name */
          voc_cpt = 0;
          print_state_record();               /* display record icon */
          voc_rec_init();
          disp_clock_start();                 /* start clock timer */
          voice_state = VOICE_RECORD;
        }
      }
      else
      {
        voice_state = VOICE_ERROR;
      }
      break;
    }


    case VOICE_RECORD:
    {
      while ((Byte)voc_cpt != gl_pointer)
      {
        Fputc(voice_buffer[(Byte)voc_cpt]);
        if (Feod())                         /* check end of disk */
        {
          Voc_rec_stop();                   /* stop voice sampling */
          voice_state = VOICE_REC_STOP;
          break;                            /* exit while loop */
        }
        voc_cpt++;
      }

      if (gl_key_press)                     /* a key is pressed? */
      {
        switch (gl_key)
        {
          case KEY_PAUSE:
            disp_clock_stop();              /* suspend clock timer */
            Voc_rec_pause();
            print_state_pause();            /* display pause icon */
            voice_state = VOICE_REC_PAUSE;
            break;

          case KEY_STOP:
            Voc_rec_stop();                 /* stop voice sampling */
            voice_state = VOICE_REC_STOP;
            break;

          default:
            break;
        }
        gl_key_press = FALSE;               /* ack key usage */
      }
      break;
    }


    case VOICE_REC_PAUSE:
    {
      if (gl_key_press)                     /* a key is pressed? */
      {
        switch (gl_key)
        {
          case KEY_REC:
            disp_clock_start();             /* restart clock timer */
            print_state_record();           /* display record icon */
            Voc_rec_start();                /* restart sampling */
            voice_state = VOICE_RECORD;
            break;

          case KEY_STOP:
            Voc_rec_stop();                 /* stop voice sampling */
            voice_state = VOICE_REC_STOP;
            break;

          default:
            break;
        }
        gl_key_press = FALSE;               /* ack key usage */
      }
      break;
    }


    case VOICE_REC_STOP:
    {
      /* update wave header */
      Fseek(-voc_cpt);                      /* beginning of file */
      Fputc(((Byte*)&gl_wav_header)[0]);    /* 'R' */
      Fputc(((Byte*)&gl_wav_header)[1]);    /* 'I' */
      Fputc(((Byte*)&gl_wav_header)[2]);    /* 'F' */
      Fputc(((Byte*)&gl_wav_header)[3]);    /* 'F' */
      voc_cpt -= 8;
      Fputc(((Byte*)&voc_cpt)[3]);          /* wave length */
      Fputc(((Byte*)&voc_cpt)[2]);
      Fputc(((Byte*)&voc_cpt)[1]);
      Fputc(((Byte*)&voc_cpt)[0]);

      for (i = 8; i != WAV_HEADER_SIZE-4; i++)
      {
        Fputc(((Byte code *)&gl_wav_header)[i]);
      }
      voc_cpt -= 36;
      Fputc(((Byte*)&voc_cpt)[3]);          /* data length */
      Fputc(((Byte*)&voc_cpt)[2]);
      Fputc(((Byte*)&voc_cpt)[1]);
      Fputc(((Byte*)&voc_cpt)[0]);
      for (i = 255; i != 0; i--)
      {
        Fputc(0x80);                        /* fill first sector data */
      }
      for (i = 257 - WAV_HEADER_SIZE; i != 0; i--)
      {
        Fputc(0x80);                        /* fill first sector data */
      } 
      Fclose();
      disp_end_of_play();
      disp_clock_reset();                   /* reset clock timer */
      print_file_type();                    /* display wav icon */
      voice_state = VOICE_IDLE;
      break;
    }


    case VOICE_ERROR:
    {
      disp_clock_reset();                   /* reset clock timer */
      print_state_error();                  /* display error icon */
      disp_name_stop();
      voice_state = VOICE_IDLE;
      break;
    }


    case VOICE_DELETE:
    {
      i = Fdelete();
      if ((i == DEL_RET_OK) || (i == DEL_RET_ERROR_DIR))
      { /* at least 1 *.wav file in root */
        Frefresh(FILE_WAV);
        print_file_name();                  /* display file name */
        voice_state = VOICE_IDLE;
      }
      else
      { /* no  more *.wav file */
        print_state_blank();                /* select blank icon */
        print_screen(VOICE_SCREEN);         /* display voice screen */
        print_voice_vol(Voc_get_volume());  /* display volume level */
        voice_state = VOICE_NO_MSG;
      }
      break;
    }
  }
}

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲免费视频中文字幕| 中文字幕字幕中文在线中不卡视频| 成人高清视频免费观看| 18成人在线观看| 精品一区二区三区免费观看| 国产精品私人自拍| 色av成人天堂桃色av| 日韩av不卡在线观看| 中文字幕av一区 二区| 欧美日韩高清一区二区| 国产一区中文字幕| 亚洲国产日日夜夜| 久久女同互慰一区二区三区| 日本韩国一区二区三区| 国产原创一区二区| 亚洲成av人片一区二区三区 | 91精品免费观看| 国产成人a级片| 亚洲777理论| 中文字幕第一区综合| 欧美精品欧美精品系列| 99视频一区二区| 精品在线免费观看| 亚洲国产精品久久艾草纯爱| 国产欧美综合在线| 日韩一卡二卡三卡国产欧美| 91激情五月电影| 国产成人精品免费网站| 日韩电影在线免费看| 亚洲黄色小说网站| 久久精品欧美日韩| 色婷婷亚洲一区二区三区| 韩国精品主播一区二区在线观看| 精品国产三级a在线观看| 成人精品视频一区| 国产一区在线看| 国产精品影视在线| 首页国产欧美日韩丝袜| 久久精品亚洲一区二区三区浴池| 国产美女视频91| 亚洲电影你懂得| 中文幕一区二区三区久久蜜桃| 成人污污视频在线观看| 精品午夜久久福利影院| 亚洲成人黄色影院| 亚洲一区二区影院| 日韩一区有码在线| 国产日产欧美一区二区视频| wwwwxxxxx欧美| 欧美精品一卡两卡| 欧美日韩在线三区| 91精品办公室少妇高潮对白| 99久久精品情趣| 波波电影院一区二区三区| 成人性色生活片| 国产成人综合精品三级| 久久99精品久久久久久动态图| 久久久三级国产网站| 欧美一级黄色片| 在线播放日韩导航| 欧美美女喷水视频| 欧美欧美欧美欧美首页| 欧美精品久久久久久久久老牛影院| 精油按摩中文字幕久久| 久久99久国产精品黄毛片色诱| 欧美精品一区二区三区很污很色的 | 国产成人在线视频免费播放| 国产又黄又大久久| 国产成人免费视频精品含羞草妖精| 一区二区三区自拍| 亚洲国产sm捆绑调教视频| 五月婷婷色综合| 蜜桃av一区二区三区电影| 久久精品国产秦先生| 精品一区二区三区久久久| 精品写真视频在线观看 | 狠狠色丁香久久婷婷综合_中| 一区二区三区四区高清精品免费观看 | 色综合久久综合网| 欧美男生操女生| 中文字幕欧美国产| 亚洲成人自拍偷拍| 卡一卡二国产精品| 97精品国产露脸对白| 欧美精品一二三四| 国产亚洲欧美在线| 亚洲国产综合人成综合网站| 国产一区二区三区在线观看免费视频 | 成人国产精品免费观看动漫| 欧美午夜精品一区| 国产婷婷精品av在线| 午夜精品一区二区三区免费视频| 亚洲免费高清视频在线| 激情av综合网| 欧美午夜影院一区| 国产精品你懂的在线| 日本伊人午夜精品| 91欧美一区二区| 久久―日本道色综合久久| 亚洲欧美日韩中文字幕一区二区三区 | 中文字幕av在线一区二区三区| 久久久另类综合| 天天综合天天做天天综合| 波多野洁衣一区| 欧美mv日韩mv| 日本欧美一区二区三区乱码| 91啦中文在线观看| 欧美激情资源网| 国产在线一区二区| 欧美一区二区人人喊爽| 亚洲狠狠丁香婷婷综合久久久| 91精品国产麻豆国产自产在线 | 久久蜜桃香蕉精品一区二区三区| 久久综合九色综合欧美98| 亚洲国产成人精品视频| 成人精品电影在线观看| 精品精品国产高清a毛片牛牛 | 欧美日韩国产经典色站一区二区三区| 欧美色区777第一页| 国产精品久久久久久亚洲伦| 美女精品一区二区| 欧美剧在线免费观看网站| 亚洲激情在线激情| av成人动漫在线观看| 欧美激情一区二区三区全黄| 国产美女精品在线| 2021中文字幕一区亚洲| 青青草一区二区三区| 欧美日韩国产bt| 一区二区三区免费在线观看| 91麻豆免费看片| 亚洲欧洲精品一区二区三区不卡| 五月天欧美精品| 欧美在线一二三四区| 一区二区三区在线视频播放| 99久久99久久精品免费看蜜桃 | 555www色欧美视频| 亚洲成av人影院| 欧美午夜片在线看| 亚洲成人午夜影院| 538在线一区二区精品国产| 视频在线在亚洲| 日韩欧美一级二级三级久久久 | 日本vs亚洲vs韩国一区三区二区| 国产乱码一区二区三区| 久久这里只有精品视频网| 国产综合一区二区| 中文字幕欧美区| 99re视频精品| 香蕉乱码成人久久天堂爱免费| 国产综合色在线视频区| 国产免费久久精品| av午夜一区麻豆| 亚洲一区二区三区视频在线 | 秋霞成人午夜伦在线观看| 7777精品伊人久久久大香线蕉超级流畅| 欧美岛国在线观看| 精品亚洲aⅴ乱码一区二区三区| 在线观看网站黄不卡| 婷婷综合另类小说色区| 日韩免费一区二区| 国产一区二区精品久久91| 中文字幕一区二区三区精华液 | 中文字幕乱码一区二区免费| 成人爽a毛片一区二区免费| 国产精品国产三级国产普通话蜜臀| 精品综合免费视频观看| 亚洲国产高清aⅴ视频| 在线国产亚洲欧美| 久久不见久久见免费视频1| 国产精品欧美精品| 欧美精品一级二级| 国产99久久久国产精品潘金| 成人免费小视频| 欧美一卡2卡3卡4卡| 国产成人免费视频一区| 亚洲一区二区欧美| 久久精品一区二区三区av | 日本韩国一区二区三区| 日韩精品1区2区3区| 国产日韩三级在线| 欧美日韩国产综合视频在线观看| 亚洲小少妇裸体bbw| 欧美精品一区在线观看| 在线观看亚洲精品视频| 精品一区二区三区视频| 亚洲另类春色国产| 久久午夜羞羞影院免费观看| 欧美午夜视频网站| 国产精品18久久久久久久久| 亚洲精品久久7777| 久久精品免费在线观看| 欧美日韩精品一区二区三区| 国产精选一区二区三区| 三级久久三级久久久| 国产精品久久看| 精品福利一区二区三区| 欧美色区777第一页| a4yy欧美一区二区三区| 精品一区二区三区免费观看|