C语言如何实现音乐播放器
发表于:2025-11-16 作者:千家信息网编辑
千家信息网最后更新 2025年11月16日,本文小编为大家详细介绍"C语言如何实现音乐播放器",内容详细,步骤清晰,细节处理妥当,希望这篇"C语言如何实现音乐播放器"文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。实例代
千家信息网最后更新 2025年11月16日C语言如何实现音乐播放器
本文小编为大家详细介绍"C语言如何实现音乐播放器",内容详细,步骤清晰,细节处理妥当,希望这篇"C语言如何实现音乐播放器"文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。
实例代码如下:
#include#include #include #include #include typedef struct node_ node_t;struct node_{ char* name;//gequming node_t * prev; node_t * next;};node_t *head = NULL;int first=1;//diyicibofnagnode_t * cur =NULL;//dangqianbofangenum{STOP,PAUSE,PLAY};int status = STOP;void List_init(void){ head = malloc(sizeof(node_t)); memset(head,0x00,sizeof(node_t)); head->next = head->prev=head;}void list_insert(const char* 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;}int menu(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(); int choose =4; do{ printf(" > "); scanf("%d",&choose); if(choose>=0&&choose<=4) break; printf("choose invalid\n"); while(getchar()!='\n'); }while(1); return choose;}void list_show(void){ node_t *p = head->next; while(p!=head){ printf("%s ",p->name); if(p==cur) printf("<<==cur"); printf("\n"); p = p->next; }}void load_music(const char * path){ DIR * pdir = opendir(path); if(pdir == NULL){ perror("opendir"); exit(1);}struct dirent * p = NULL;while((p=readdir(pdir))!=NULL){if(p->d_name[0]=='.') continue; list_insert(p->d_name);}closedir(pdir);}void playPause(){ if(first==1){ char buf[1024] = {}; sprintf(buf,"madplay -o wav:- ./music/Music/%s 2> /dev/null | aplay 2>/dev/null &",cur->name); system(buf); first = 0; status = PLAY; }else{ if(status==PLAY){ system("killall -SIGSTOP aplay"); status = PAUSE; }else if(status==PAUSE){ system("killall -SIGCONT aplay"); status = PLAY; } }}void stop(){ system("killall -SIGKILL aplay"); first=1;}void next(){ stop(); cur = cur ->next; if(cur==head){ cur = cur->next; } playPause();}void prev(){ stop(); cur = cur->prev; if(cur==head){ cur= cur->prev; } playPause();}int main(int args,char * argv[]){ List_init(); load_music("./music/Music");if(head->next!=head) cur = head->next; //printf("%s\n",cur->name); //list_show(); do{ int choose = menu(); switch(choose){ case 1: playPause(); break; case 2: next(); break; case 3: prev(); break; case 4: stop(); break; case 0: printf("thanks"); system("killall -SIGKILL aplay"); exit(0); break; default: break; //do nothing; }}while(1); return 0;}
实例效果图片如下:
读到这里,这篇"C语言如何实现音乐播放器"文章已经介绍完毕,想要掌握这篇文章的知识点还需要大家自己动手实践使用过才能领会,如果想了解更多相关内容的文章,欢迎关注行业资讯频道。
播放器
语言
音乐
文章
内容
实例
妥当
代码
图片
思路
效果
新知
更多
步骤
知识
知识点
篇文章
细节
行业
资讯
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
邯郸微信软件开发公司哪家好
将文件导入数据库
简述计算机网络安全的目标
服务器和网站安全加固案件
怎样调用r自带数据库
计算机数据库英语怎么读
中海油信息网络安全公司
吴忠市网络安全演练
魔兽不同服务器怎么添加好友
网络安全的特性包括
音频软件开发报价
上海管理金融网络技术服务
access数据库表大小
网站软件开发公司简介
软件开发人日单价标准怎么计算
服务器管理面板是什么意思
社会工程学数据库搭建
2019互联网科技公司春招
服务器网络机柜公司
pg数据库开源吗
数据库技术应用包括
软件开发oat
华中科技大学工业互联网
office哪个软件开发难
日语软件开发相关教程
如何做网络安全市场
软件开发项目没完成辞职
关于四年级网络安全手抄报
微信中心服务器异常怎么解决
数据库高持久