久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

立即注冊 登錄
返回首頁

uid:63663的個人空間

日志

播放器

已有 865 次閱讀2014-9-3 18:51 | 資料

#include "head.h"

play_number = 1;

int main(int argc,char *argv[])
{
 char key = 0;
 int play_way = 0;    //播放還是暫停????1播放,0暫停
////關于名字動態顯示////////////////////////////////////////////////////////////
 int i = 0;
 int j = 0;
 char display_text[11] = {0};
 int text_len = 0;
 char *h = NULL;
 int delay_sign = 1;
 int m = 0;//////////////////////////////////////////////////// 
 unsigned long delay_count1 = 0; 
// int delay_count2 = 0;
 int go_step = 0; 
 char buff1[200] = {0};
 char *ch = NULL;
 music_one * play_this = NULL;
 int play_mode = 1;    //播放模式  0單曲?1順序?2隨機?
 int sub = 4;          //頻譜減
 int sup = 0;          //加
 int up_lock = 0;
 int down_lock = 1;

//////////////////////////////////////////////////////////////////////////
/*         關于時間顯示         */
 char buff_time_display[50] = {0};
 char buff_time_display2[50] = {0};
 long mytime_1 = 0;
 int  mytime_minute = 0;
 int  mytime_second = 0;
///////////關于當前時間////////////////////////////////////////////////
 char buff_time_now[50] = {0};
 char buff_time_now2[50] = {0};
 long mytime_now = 0;
 int  mytime_minute_now = 0;
 int  mytime_second_now = 0;
/////////////關于進度條////////////////////////////////////////////////////
 double my_program = 0;
 int go = 0;
/////////////關于音量///////////////////////////////////////////////////
 char my_volume_buf[100] = {0};
 int my_volume_var = 300;
 char my_volume_buff[50] = {0};
//////////////////////////////////////////////////////////////////////////
 initialization();
 head = (music_head *)malloc(sizeof(music_head));
 memset(head, 0, sizeof(music_head)); 
 
//獲取當前播放器路徑
 strcpy(program_direct, argv[0]);
//讀取程序所在文件夾中MP3文件個數
 read_file_count(head);
 gotoxy(X(10),Y(4));
 printf("/%d", head->music_count);
//建鏈表
 list_creat(head);
//讀文件
 read_file(head);
 list_output(head);
 play_name_lock = 1;
 TEXT_RED;
 gotoxy(X(6),Y(6));
 printf("%3d", my_volume_var/10);
 gotoxy(X(14),Y(6)); 
 printf("%s","順序");
 while(1)
 {
  while (!_kbhit())
  { 
///////////////顯示動態名字/////////////////////////////////////////////////////////////// 
   play_this = head->next; 
   while(play_number != play_this->music2_number)
   {
    play_this = play_this->next;
   }   
   sprintf(buff1,"%s%s%s", "          ", play_this->music1_name, "    ");   
   ch = buff1; 
   while(*ch++); 
   text_len  = ch - buff1;             //得到字符串長度
   go_step =  (text_len - 8)/2;        
   if(delay_sign == 1)
   {  
    delay_sign = 0;
    i = i % text_len;
    i = i + 2;
   }   
    gotoxy(X(12), Y(4));
    for (j = 0; j < 10; j++)
    {
     display_text[j] = buff1[j+i];
    }
                //延時計數,計數到100后打印
    if (delay_count1 == 100)    //計數器到每到一百顯示一次
    {
     delay_sign = 1;         //顯示完一次,為下一次字符串移動準備
     TEXT_BRIGHT_GREEN;
     printf("%s", display_text);
     TEXT_RED;
     delay_count1 = 0;
//     delay_count2 ++;
    }  
    delay_count1++;
    Sleep(2);
/////////////////歌曲總時間長度///////////////////////////////////////////////////////////   
    //以字符串的方式得到歌曲總時間
    sprintf(buff_time_display, "%s %s %s", "Status", play_this->music1_name, "length");
    mciSendString(buff_time_display, buff_time_display2, sizeof(buff_time_display2), NULL);
    mytime_1 = strtol(buff_time_display2, NULL, 10);    
    mytime_second = mytime_1/1000 % 60;
    mytime_minute = mytime_1/1000 /60;
    gotoxy(X(37),Y(13));
    printf("%d:%d", mytime_minute, mytime_second);
/////////////////顯示歌曲現在進度///////////////////////////////////////////////////////////        
    sprintf(buff_time_now, "%s %s %s", "Status", play_this->music1_name, "position");
    mciSendString (buff_time_now, buff_time_now2, sizeof(buff_time_now2), NULL);
    mytime_now = strtol(buff_time_now2, NULL, 10);    
    mytime_second_now = mytime_now/1000 % 60;
    mytime_minute_now = mytime_now/1000 /60;
    gotoxy(X(34),Y(13));
    printf("%d:%2d /", mytime_minute_now, mytime_second_now);   
/////////////////進度條顯示///////////////////////////////////////////////////////////
       my_program = mytime_1/60;          //應該每過這個時間進度條向前走一次    
    if (my_program * go < mytime_now)
    {
     go++;
     gotoxy(10+go, Y(13));
        printf("%s", "=>");
    }
/////////////////關于音量///////////////////////////////////////////////////////////
    sprintf(my_volume_buf, "%s %s %s %d", "setaudio",
              play_this->music1_name, "volume to", my_volume_var);
    mciSendString(my_volume_buf, my_volume_buf, sizeof(my_volume_buf), NULL);
/////////////////顯示頻譜///////////////////////////////////////////////////////////
    if(delay_count1 % 20 == 19)
    {
     if ((1 == down_lock) && (1 == play_way))
     {
      gotoxy(X(18),Y(10-sup));
      printf("=");
      gotoxy(X(19),Y(8-sup));
      printf("=");
      gotoxy(X(20),Y(7-sup));
      printf("=");
      gotoxy(X(21),Y(9-sup));
      printf("=");
      gotoxy(X(22),Y(11-sup));
      printf("=");
      gotoxy(X(23),Y(10-sup));
      printf("=");
      gotoxy(X(24),Y(11-sup));
      printf("=");
      gotoxy(X(25),Y(9-sup));
      printf("=");
      gotoxy(X(26),Y(10-sup));
      printf("=");
      gotoxy(X(27),Y(8-sup));
      printf("=");
      if(sup == 4)
      {
       down_lock = 0;
       up_lock = 1;
       sup = 0;
      }
      sup ++;
     }
     if ((1 == up_lock) && (1 == play_way))
     {        
      gotoxy(X(18),Y(9-sub));
      printf(" ");
      gotoxy(X(19),Y(7-sub));
      printf(" ");
      gotoxy(X(20),Y(6-sub));
      printf(" ");
      gotoxy(X(21),Y(8-sub));
      printf(" ");
      gotoxy(X(22),Y(10-sub));
      printf(" ");
      gotoxy(X(23),Y(9-sub));
      printf(" ");
      gotoxy(X(24),Y(10-sub));
      printf(" ");
      gotoxy(X(25),Y(8-sub));
      printf(" ");
      gotoxy(X(26),Y(9-sub));
      printf(" ");
      gotoxy(X(27),Y(7-sub));
      printf(" ");
      if(sub == 0)
      {
       down_lock = 1;
       up_lock = 0;
       sub = 4;
      }
      sub --;            
     }
    }
/////////////////播放模式控制///////////////////////////////////////////////////////////
    if ((mytime_1 - mytime_now) < 2000)
    {
     switch(play_mode)
     {
     case 0:            //單曲循環      
      play_num_song("stop", play_number, head);
         play_number--; 
      goto _nextmusic;      
      break;
     case 1:            //順序播放
      play_num_song("stop", play_number, head);
      goto _nextmusic;
      break;      
     case 2:            //隨機播放
      play_num_song("stop", play_number, head);
      play_number = delay_count1 % head->music_count - 1;
      goto _nextmusic;
      break;
     }
    }
///////////當有鍵按下/////////////////////////////////////////////////////////////////
  }
   key = _getch();
   up_lock = 1;
   switch (key)
   {
   case 'n':     //向下翻頁
    list_output(head);
    break;
   case ' ':     //暫停和開始
    if (play_way == 0)
    {
     play_way = 1;
     play_num_song("play", play_number, head);
    }
    else
    {
     play_way = 0;
     play_num_song("pause", play_number, head);
    }
    
    break;
   case 'h':   //下一曲     
_nextmusic:
    play_way = 1;
    if (play_number < head->music_count)
    {

      TEXT_GREEN;
      for (i = 3; i < 33; i++)       //進度條初始
      {
       go = 0;
       SOMEPLACE_PRINT(X(i), Y(13), "--");  
      }
      TEXT_RED;
     play_num_song("stop", play_number, head);
     play_number++; 
     play_num_song("play", play_number, head);
    }
    else
    {
         TEXT_GREEN;
      for (i = 3; i < 33; i++)       //進度條初始
      {
       go = 0;
       SOMEPLACE_PRINT(X(i), Y(13), "--");  
      }
      TEXT_RED;
     play_num_song("stop", play_number, head);
     play_number = head->music_count;
     play_num_song("play", play_number, head);
     break;
    } 
    break;
   case 'g':    //上一曲
    play_way = 1;
    if (play_number > 2)
    {
     play_num_song("stop", play_number, head);
     play_number -= 2;
     goto _nextmusic;
        break;
    }
    else
    {//處理弟一首歌
     play_num_song("stop", 2, head);
     play_number = 1;
     TEXT_GREEN;
     for (i = 3; i < 33; i++)       //進度條初始
     {
      go = 0;
      SOMEPLACE_PRINT(X(i), Y(13), "--");  
     }
     TEXT_RED;     
     play_num_song("play", 1, head);
    }
    break;
   case 'f':
    play_way = 1;
    play_num_song("stop", play_number, head);
    play_number = 1;
    TEXT_GREEN;
    for (i = 3; i < 33; i++)       //進度條初始
    {
     go = 0;
     SOMEPLACE_PRINT(X(i), Y(13), "--");  
    }
    TEXT_RED;     
    play_num_song("play", play_number, head);
    break;
   case 'j':
    play_way = 1;
    play_num_song("stop", play_number, head);
    play_number = head->music_count;
    TEXT_GREEN;
    for (i = 3; i < 33; i++)       //進度條初始
    {
     go = 0;
     SOMEPLACE_PRINT(X(i), Y(13), "--");  
    }
    TEXT_RED;     
    play_num_song("play", play_number, head);
    break;
   case 'v':     //音量加
    gotoxy(X(6), Y(6));
    printf("%3d", my_volume_var/10);
    if (my_volume_var < 1000)
    {
     my_volume_var += 50;
    }    
    break;
   case 'c':      //音量減
    gotoxy(X(6),Y(6));
    printf("%3d", my_volume_var/10);
    if (my_volume_var > 0)
    {
     my_volume_var -= 50;
    }    
    break;
   case 'm':
    play_mode++;
    play_mode = play_mode % 3;
    gotoxy(X(14),Y(6));
    if (0 == play_mode)
    {
     printf("%s","單曲");
    }
    else if (1 == play_mode)
    {
     printf("%s","順序");
    }
    else
    {
     printf("%s","隨機");
    }
   case '1':
    if (head->music_count >= 1)
    {
    play_way = 1;
     TEXT_GREEN;
     for (i = 3; i < 33; i++)       //進度條初始
     {
      go = 0;
      SOMEPLACE_PRINT(X(i), Y(13), "--");  
     }
     TEXT_RED;
     play_num_song("stop", play_number, head);
     play_number = arr_number[1]; 
     play_num_song("play", play_number, head);
    }
    break;
   case '2':
    if (head->music_count >= 2)
    {
    play_way = 1;
    TEXT_GREEN;
    for (i = 3; i < 33; i++)       //進度條初始
    {
     go = 0;
     SOMEPLACE_PRINT(X(i), Y(13), "--");  
    }
    TEXT_RED;
    play_num_song("stop", play_number, head);
    play_number = arr_number[2]; 
    play_num_song("play", play_number, head);
    }
    break;
   case '3':
    if (head->music_count >= 3)
    {
    play_way = 1;
    TEXT_GREEN;
    for (i = 3; i < 33; i++)       //進度條初始
    {
     go = 0;
     SOMEPLACE_PRINT(X(i), Y(13), "--");  
    }
    TEXT_RED;
    play_num_song("stop", play_number, head);
    play_number = arr_number[3]; 
    play_num_song("play", play_number, head);
    }
    break;
   case '4':
    if (head->music_count >= 4)
    {
    play_way = 1;
    TEXT_GREEN;
    for (i = 3; i < 33; i++)       //進度條初始
    {
     go = 0;
     SOMEPLACE_PRINT(X(i), Y(13), "--");  
    }
    TEXT_RED;
    play_num_song("stop", play_number, head);
    play_number = arr_number[4]; 
    play_num_song("play", play_number, head);
    }
    break;
   case '5':
    if (head->music_count >= 5)
    {
    play_way = 1;
    TEXT_GREEN;
    for (i = 3; i < 33; i++)       //進度條初始
    {
     go = 0;
     SOMEPLACE_PRINT(X(i), Y(13), "--");  
    }
    TEXT_RED;
    play_num_song("stop", play_number, head);
    play_number = arr_number[5]; 
    play_num_song("play", play_number, head);
    }
    break;
   case '6':
    if (head->music_count >= 6)
    {
    play_way = 1;
    TEXT_GREEN;
    for (i = 3; i < 33; i++)       //進度條初始
    {
     go = 0;
     SOMEPLACE_PRINT(X(i), Y(13), "--");  
    }
    TEXT_RED;
    play_num_song("stop", play_number, head);
    play_number = arr_number[6]; 
    play_num_song("play", play_number, head);
    }
    break;
   case '7':
    if (head->music_count >= 7)
    {
    play_way = 1;
    TEXT_GREEN;
    for (i = 3; i < 33; i++)       //進度條初始
    {
     go = 0;
     SOMEPLACE_PRINT(X(i), Y(13), "--");  
    }
    TEXT_RED;
    play_num_song("stop", play_number, head);
    play_number = arr_number[7]; 
    play_num_song("play", play_number, head);
    }
    break;
   case '8':
    if (head->music_count >= 8)
    {
    play_way = 1;
    TEXT_GREEN;
    for (i = 3; i < 33; i++)       //進度條初始
    {
     go = 0;
     SOMEPLACE_PRINT(X(i), Y(13), "--");  
    }
    TEXT_RED;
    play_num_song("stop", play_number, head);
    play_number = arr_number[8]; 
    play_num_song("play", play_number, head);
    }
    break;
   case '9':
    if (head->music_count >= 9)
    {
    play_way = 1;
    TEXT_GREEN;
    for (i = 3; i < 33; i++)       //進度條初始
    {
     go = 0;
     SOMEPLACE_PRINT(X(i), Y(13), "--");  
    }
    TEXT_RED;
    play_num_song("stop", play_number, head);
    play_number = arr_number[9]; 
    play_num_song("play", play_number, head);
    }
    break;
   default:
    break;
  }
 }
 mciSendString("close", NULL, 0, NULL);
 list_delete(head);
 return 0;
}


路過

雞蛋

鮮花

握手

雷人

全部作者的其他最新日志

評論 (0 個評論)

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

返回頂部
主站蜘蛛池模板: 欧美日韩一区二区在线 | 91资源在线 | 综合久| 久久免费视频1 | 中文字幕国产一区 | 国产欧美一区二区久久性色99 | 久久久久久成人 | 精品乱码一区二区三四区视频 | 91精品国产综合久久久动漫日韩 | 一区二区三区高清 | 一区二区视频在线观看 | 91视频网址| 久久com | 毛片在线免费播放 | 日韩精品无码一区二区三区 | av免费网址 | 欧美一区二区三区久久精品 | 色综合天天综合网国产成人网 | 国产欧美精品一区二区 | 国产九九精品视频 | 亚洲国产精品suv | 91观看| 国产精品成人一区二区三区夜夜夜 | 日本欧美在线观看视频 | 精品九九| 黄色网址在线免费观看 | 国产日韩欧美激情 | 色爱综合网 | 亚洲国产在 | 亚洲网在线| 国产在线精品一区二区 | 久久久久久久一区 | 久久不射电影网 | 国产精品美女久久久 | 电影91久久久 | 日韩在线一区二区三区 | 免费特黄视频 | 亚洲精品久久久久久国产精华液 | 网页av| 成人在线不卡 | 午夜丁香视频在线观看 |