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

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

?? voice_task.c

?? 8051實現的MP3播放程序,大家可以一起學習.
?? C
?? 第 1 頁 / 共 2 頁
字號:
  
          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;
    }
  }
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
午夜电影网亚洲视频| 欧美亚洲国产一区二区三区va| 人人精品人人爱| 亚洲日本在线a| 一区二区成人在线| 亚洲一区二区三区影院| 日本系列欧美系列| 成人av网站免费观看| 在线观看日韩av先锋影音电影院| 91丨porny丨国产| 欧美老年两性高潮| 国产三级一区二区| 亚洲6080在线| 99精品久久99久久久久| 91精品国产乱码久久蜜臀| 精品国免费一区二区三区| 国产精品成人一区二区三区夜夜夜| 丝袜a∨在线一区二区三区不卡| 国产乱人伦精品一区二区在线观看| 91麻豆自制传媒国产之光| 久久精品人人做| 国产一区二区三区免费看| 香蕉成人伊视频在线观看| 成人av在线资源| 日韩精品最新网址| 亚洲一区免费视频| 91小视频免费看| 国产视频一区二区在线| 国产麻豆成人精品| 久久女同精品一区二区| 视频一区二区不卡| 九九久久精品视频| 欧美α欧美αv大片| 日韩电影免费在线观看网站| 欧美日本不卡视频| 亚洲在线视频网站| 欧美性极品少妇| 亚洲一区二区四区蜜桃| 欧美在线观看视频一区二区三区| 亚洲精品视频一区| 色婷婷久久综合| 一区二区三区欧美日韩| 欧美综合一区二区| 视频一区视频二区中文字幕| 4hu四虎永久在线影院成人| 免费日韩伦理电影| 精品美女在线播放| 日韩精品中文字幕一区| 开心九九激情九九欧美日韩精美视频电影| 亚洲丝袜美腿综合| 久久国产生活片100| 国产午夜精品一区二区| kk眼镜猥琐国模调教系列一区二区| 国产精品丝袜久久久久久app| 99久久婷婷国产综合精品电影| 一区二区三区四区中文字幕| 91精品一区二区三区在线观看| 看国产成人h片视频| 亚洲免费三区一区二区| 日韩一区二区三免费高清| 国产高清无密码一区二区三区| 亚洲视频免费在线| 久久久99免费| 欧美日韩精品免费观看视频| 久久99精品视频| 亚洲裸体xxx| 国产婷婷精品av在线| 欧美日韩三级一区| 国产成人久久精品77777最新版本| 亚洲伊人色欲综合网| 中文字幕成人在线观看| 欧美成人精品3d动漫h| 在线观看日韩国产| 成人av电影在线网| 国产一区二区伦理| 日本亚洲天堂网| 亚洲成国产人片在线观看| 欧美国产丝袜视频| 精品日韩在线观看| 91精品国产一区二区三区香蕉| 精品99久久久久久| 国产精品一级在线| 精品在线播放免费| 日本不卡123| 日韩福利电影在线观看| 亚洲激情校园春色| 亚洲乱码一区二区三区在线观看| 国产精品久久久久久久久动漫 | 亚洲最大成人综合| 亚洲欧美偷拍三级| 最新日韩在线视频| 中文字幕在线不卡一区| 国产精品久久久久久久久免费丝袜 | 日韩视频中午一区| 欧美一区二区三区在线观看| 欧美人xxxx| 欧美一级国产精品| 欧美电视剧免费全集观看| 91精品一区二区三区久久久久久 | 亚洲婷婷综合久久一本伊一区| 中文字幕综合网| 亚洲人成精品久久久久| 久久97超碰色| 国产精品午夜电影| 国产精品久久网站| 亚洲一本大道在线| 国产成人午夜精品5599| 国产成人精品一区二| 91尤物视频在线观看| 在线观看日韩高清av| 欧美日韩高清一区二区三区| 欧美变态凌虐bdsm| 国产精品福利一区二区三区| 亚洲狼人国产精品| 日韩精彩视频在线观看| 玖玖九九国产精品| thepron国产精品| 在线电影国产精品| www国产亚洲精品久久麻豆| 国产精品乱码一区二区三区软件 | 欧美精品 国产精品| 26uuu精品一区二区| 亚洲色图自拍偷拍美腿丝袜制服诱惑麻豆| 夜夜爽夜夜爽精品视频| 国产一区二区视频在线| 日韩一区二区免费视频| 国产精品不卡在线| 国产又粗又猛又爽又黄91精品| 99久久精品久久久久久清纯| 欧美日韩国产一二三| 久久久久99精品国产片| 一区二区免费在线播放| 国产成人免费在线观看不卡| 日韩视频一区二区| 婷婷久久综合九色综合绿巨人 | 色网综合在线观看| 久久精品日产第一区二区三区高清版| 天天色天天操综合| 欧美日韩国产综合一区二区| 中文字幕一区二区日韩精品绯色| 免费观看30秒视频久久| 色婷婷综合久色| 亚洲欧美综合另类在线卡通| 国产高清无密码一区二区三区| www激情久久| 国产精品一区二区无线| 一本色道综合亚洲| 亚洲欧美怡红院| 色综合久久中文综合久久97 | 欧美色中文字幕| 亚洲国产视频在线| 欧美色视频在线| 日韩二区三区四区| 精品奇米国产一区二区三区| 久久99精品国产.久久久久久| xf在线a精品一区二区视频网站| 美女mm1313爽爽久久久蜜臀| 日韩久久免费av| 国产资源在线一区| 国产精品乱子久久久久| 欧美日韩国产美| 国产精品一级二级三级| 亚洲欧美日韩一区| 欧美高清www午色夜在线视频| 久久国产麻豆精品| 欧美—级在线免费片| 欧美性xxxxxxxx| 亚洲成av人**亚洲成av**| 欧美一级一级性生活免费录像| 黄色日韩三级电影| 亚洲精品成人精品456| 欧美疯狂性受xxxxx喷水图片| 国产综合成人久久大片91| 亚洲欧美一区二区三区极速播放| 日韩一级视频免费观看在线| 成人一道本在线| 天天综合网天天综合色| 国产亚洲综合性久久久影院| 欧美综合欧美视频| 国产a视频精品免费观看| 日本欧美一区二区| 2021中文字幕一区亚洲| 成人高清免费观看| 国产激情视频一区二区在线观看| 一区二区高清视频在线观看| 久久久久久毛片| 日韩视频中午一区| 欧美午夜精品久久久久久孕妇| 国产福利一区二区| 亚洲高清免费观看| 亚洲另类春色校园小说| 国产精品网站在线播放| 久久蜜桃av一区精品变态类天堂 | 亚洲精品国产第一综合99久久 | 国产精品区一区二区三| 国产亚洲自拍一区| 精品精品欲导航| 欧美一区二区网站| 欧美福利视频一区| 欧美一区二区高清|