一、项目简介客户端实现:

项目简介客户端实现:

使用mini2440开发板,实现播放音乐客户端

需要同时做三件事情:

  1. 播放音乐

  1. 监听按键(读设备文件和文件描述符)

  1. 上位机app有没有发出指令(监听网络socket,文件描述符,app通过网络发送数据)

对于上述事情的2和3使用select来监听文件描述符

因为存在监听和播放两个事情,需要使用并发,这里选择多进程来并发,因为多进程比较健壮,一个负责监听,一个负责播放音乐

创建三个进程

  1. 父进程创建子进程,子进程创建孙进程

  1. 父进程通过select来监听按键和网络

  1. 一旦父进程监听到按键或者网络描述符,创建子进程,子进程再创建孙进程,其中子进程等待孙进程结束

  1. 孙进程负责播放音乐

  1. 子进程当孙进程播放音乐结束后负责回收孙进程的资源

进程间通信:采用共享内存,因为共享内存效率较高

共享内存存放数据:

  1. 进程号

暂停:父进程给子进程和孙进程发送信号SIGSTOP

继续,父进程给子进程和孙进程发送信号SIGCONT

上一首音乐:获取当前播放音乐,遍历链表找到上一首;杀死子孙进程,重新启动进程播放音乐

播放模式:循环,单曲,随机

  1. 当前播放的音乐的名字

  1. 记住播放模式

链表:通过链表把u盘里面的歌曲读取出来放在链表里面(双向链表)

首先需要安装音频解码madpaly

具体安装步骤可以网上搜索

其次呢通过exce族启用新的进程调用madpaly

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值