TQ2440 上用多线程实现的mp3 播放器
2012-07-17 15:25
155 查看
转自:/article/10538670.html概述:(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 播放器
- NaiveMediaPlayer——UWP简单的播放器实现(for MP3/MP4)
- 网站上有一个mp3文件,但是用<a href="my.mp3">下载</a>时,会在播放器里打开,请问我要怎样才能实现点击后下载呢?
- VC实现的avi,mid,mp3,asf,wma播放器核心代码
- Android多线程分析之二:Thread的实现
- 运用多线程实现两个线程+1,两个线程-1;线程安全+内部类
- JAVA多线程的三种实现方式
- Linux平台上用C++实现多线程互斥锁
- 利用多线程实现linux下C语言的聊天室程序:
- Java多线程编程环境中单例模式的实现 (内部类实现多线程环境中的单例模式)
- 多线程的三种实现
- C++多线程笔记:使用std::lock_guard实现对共享数据的保护
- C#实现多线程界面刷新
- Hander多线程实现ProgressBar的自动完成
- Java中使用Timer和TimerTask实现多线程
- JAVA多线程之——线程的实现方式
- 在Http协议下实现多线程断点的下载
- 多线程套接字编程-----程序实例(C++实现)
- 模拟多线程并发订单处理功能实现