linux下C语言简单实现mplayer

这篇博客介绍了如何在Linux系统中使用C语言来实现mplayer的控制功能,包括歌曲的添加、播放、暂停、音量调节和歌词显示等。通过创建歌曲链表管理歌单,使用父子进程及多线程实现播放控制,歌词显示则通过定时获取播放信息并匹配文本中的歌词时间来实现。此外,还涉及暂停控制机制,通过标志位来管理指令发送。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

功能实现
1.歌曲添加
2.歌曲文件夹的添加
3.歌单显示
4.歌曲的播放,暂停,静音,停止,快进,切换
5.音量的调节

流程图

在这里插入图片描述
在这里插入图片描述
程序分析
1.歌单的控制
创建歌曲链表,添加歌曲将歌曲的路径添加到歌曲节点,添加到歌曲链表后面。
删除歌曲将歌曲的节点从歌曲链表中去除。每次操作之后,需要将链表重新写入文本。

while(aloop)
			{
				a = listmenu();
				switch(a)
				{
					case 1:pr = read_song();
					add_song(pr);							//歌曲添加
					break;
					case 2:pr = read_song();			//读取歌单链表函数
					add_songfile(pr);						//添加歌单函数
					break;
					case 3:pr = read_song();
					remove_song(pr);					//歌曲删除
					break;
					case 4:pr = read_song();
					display_song(pr);						//显示歌曲
					break;
					case 0:aloop=0;break;
					default:aloop = 0;
				}
			}

歌曲文件夹的添加,输入文件夹路径,遍历路径下面的所有文件,将每一首歌曲添加到歌曲链表内。

	while((ptr = readdir(dir)))
	{
		stat(ptr-&g
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值