C语言怎么实现音乐播放器
作者
这篇文章主要为大家展示了“C语言怎么实现音乐播放器”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“C语言怎么实现音乐播放器”这篇文章吧。
实例代码如下:
#include<stdio.h> #include<dirent.h> #include<stdlib.h> #include<unistd.h> #include<string.h> typedefstructnode_node_t; structnode_{ char*name;//gequming node_t*prev; node_t*next; }; node_t*head=NULL; intfirst=1;//diyicibofnag node_t*cur=NULL;//dangqianbofang enum{STOP,PAUSE,PLAY}; intstatus=STOP; voidList_init(void){ head=malloc(sizeof(node_t)); memset(head,0x00,sizeof(node_t)); head->next=head->prev=head; } voidlist_insert(constchar*name){ node_t*p=malloc(sizeof(node_t)); memset(p,0x00,sizeof(node_t)); p->name=malloc(strlen(name)+1); strcpy(p->name,name); p->next=head->next; p->prev=head; head->next->prev=p; head->next=p; } intmenu(void){ printf("*************menu************************\n"); printf("1.play/pause\n"); printf("2.next\n"); printf("3.prev\n"); printf("4.stop\n"); printf("5.exit\n"); printf("**************************************\n"); list_show(); intchoose=4; do{ printf(">"); scanf("%d",&choose); if(choose>=0&&choose<=4) break; printf("chooseinvalid\n"); while(getchar()!='\n'); }while(1); returnchoose; } voidlist_show(void){ node_t*p=head->next; while(p!=head){ printf("%s",p->name); if(p==cur) printf("<<==cur"); printf("\n"); p=p->next; } } voidload_music(constchar*path){ DIR*pdir=opendir(path); if(pdir==NULL){ perror("opendir"); exit(1); } structdirent*p=NULL; while((p=readdir(pdir))!=NULL){ if(p->d_name[0]=='.') continue; list_insert(p->d_name); } closedir(pdir); } voidplayPause(){ if(first==1){ charbuf[1024]={}; sprintf(buf,"madplay-owav:-./music/Music/%s2>/dev/null|aplay2>/dev/null&",cur->name); system(buf); first=0; status=PLAY; }else{ if(status==PLAY){ system("killall-SIGSTOPaplay"); status=PAUSE; }elseif(status==PAUSE){ system("killall-SIGCONTaplay"); status=PLAY; } } } voidstop(){ system("killall-SIGKILLaplay"); first=1; } voidnext(){ stop(); cur=cur->next; if(cur==head){ cur=cur->next; } playPause(); } voidprev(){ stop(); cur=cur->prev; if(cur==head){ cur=cur->prev; } playPause(); } intmain(intargs,char*argv[]) { List_init(); load_music("./music/Music"); if(head->next!=head) cur=head->next; //printf("%s\n",cur->name); //list_show(); do{ intchoose=menu(); switch(choose){ case1: playPause(); break; case2: next(); break; case3: prev(); break; case4: stop(); break; case0: printf("thanks"); system("killall-SIGKILLaplay"); exit(0); break; default: break; //donothing; } }while(1); return0; }
实例效果图片如下:
以上是“C语言怎么实现音乐播放器”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注恰卡编程网行业资讯频道!
目录
推荐阅读
0 条评论
本站已关闭游客评论,请登录或者注册后再评论吧~