TQ2440 上用多线程实现的mp3 播放器
来源:互联网 发布:jquery.ajaxsubmit.js 编辑:程序博客网 时间:2024/06/17 15:43
转自:http://blog.csdn.net/rich_baba/article/details/5779775
概述:
(1) 这是一个基于 TQ2440开发板的, 使用用多线程实现的mp3播放器。
(2) 从软件层次来看, 驱动层包括 按键驱动 和 声卡驱动, 需要自己实现的是 按键驱动; 应用层有 MP3主播放程序 和 Madplay播放器程序。
(3) 除了用madplay 播放器播放MP3, 为了好玩 ,还将蜂鸣器播放音乐的功能加了进去, 不过要用 一段 代码转换 编码数组 为程序可读的文件。
(4) 由于 madplay 编译后 本身会只会生成 madplay这个可执行文件, 为了能将madplay 的方法用到自己的代码中, 还需要修改 madplay 的Makefile 和 一些源代码。 最好是将 main()函数源文件 送到madplay目录中去 一起编译。
(5) 当然 madplay本身 还需要一些库的支持, 这些库都在资源中了。
正文:
一·系统架构:
图一 MP3 系统架构图
基于TQ2440开发板, 利用板上四个按键资源, K1~K4分别实现以下功能:
1. K1: Play /Pause;
2. K2: Stop;
3. K3: Prev Song;
4. K4: Next Song;
二、程序流程图:
图二 MP3 主程序流程图
三、准备工作(略):
在实现MP3 程序代码之前, 必须做好以下工作:
1. 一个可以启动 linux 内核的Uboot,最好是NFS 方式启动内核;
2. 制作好的linux 内核,并将声卡芯片(UDA1341)编译进内核;
3. 根文件系统;
4. Button 驱动,笔者的按键驱动 在按下和抬起时都能读到键值变化,并且4个键值是以 一个整数按 位图方式放回用户空间供读取的, 这样的好处是 可以随时监控按键状态 并且 支持组合键的操作;
5. madplay 的源码和 库文件支持,你需要弄到这些文件 libid3tag-0.15.1b.tar.gz,libmad-0.15.1b.tar.gz,zlib-1.1.4.tar.gz,madplay-0.15.2b.tar.gz;
四、代码实现:
- TQ2440 上用多线程实现的mp3 播放器
- TQ2440 上用多线程实现的mp3 播放器
- TQ2440下面的madplay播放器使用,能播放MP3
- mp3播放器的实现
- MP3播放器的实现
- 用QMediaPlayer实现MP3音乐播放器
- 简易MP3播放器实现
- android实现MP3播放器
- MP3播放器madplay在ARM平台上的移植
- 基于 libmad 的简单 MP3 流媒体播放器的实现
- 基于 libmad 的简单 MP3 流媒体播放器的实现
- 基于 libmad 的简单 MP3 流媒体播放器的实现
- 基于 libmad 的简单 MP3 流媒体播放器的实现
- 基于libmad 的简单MP3流媒体播放器的实现
- 基于 libmad 的简单 MP3 流媒体播放器的实现
- 基于 libmad 的简单 MP3 流媒体播放器的实现
- 基于 libmad 的简单 MP3 流媒体播放器的实现
- 基于 libmad 的简单 MP3 流媒体播放器的实现
- ASCII码(全)
- WMS has encountered a problem and needs to close. We are sorry for the inconvenience.
- SQLITE的SQL语法
- 为redhat增加apt软件包管理工具
- sql千万级记录的相关测试
- TQ2440 上用多线程实现的mp3 播放器
- Qt自动产生的槽函数
- 百度之星05-08年试题
- delphi XE2中安装ehlib5.6
- 使用Bash进行Socket通信
- 排序(四)——关于归并排序
- 用Javascript实现让Canvas变模糊的效果
- APP widget初学 (一)
- HDU_1804_Deli Deli (字典树)