电子综合课程设计报告--基于ARM+linux的MP3播放器
《电子综合课程设计报告--基于ARM+linux的MP3播放器》由会员分享,可在线阅读,更多相关《电子综合课程设计报告--基于ARM+linux的MP3播放器(9页珍藏版)》请在毕设资料网上搜索。
1、 电子综合课程设计报告电子综合课程设计报告 基于 ARM+linux 的 MP3 播放器 一、主要指标和要求:主要指标和要求:1、能够正常的播放音乐 2、能够播放自己随意指定的音乐 3、播放的是 MP3 格式的音乐 4、能够实现五秒快进和五秒快退 5、能够实现正常退出 二、二、方案选择及工作原方案选择及工作原理:理: 1、MP3解码原理:MP3文件解码流程 对于一个MP3文件的解码,本质上就是循环地对每一个 Frame进行解码,直到完成所有Frame的解码,或者中途出现 错误而中止。MP3文件的解码流程如图l所示bj。 而对于每一帧的解码,首先是要获取每一帧的同步字符 和帧头信息,从而获得相应
2、的参数,并根据对帧头信息的分析 进而得到实际一帧的音频数据; 然后读取主要数据并获得缩放因子数 据和霍夫曼码字,接着进行霍夫曼解码;其次进行反 量化,并根据帧头的立体声信息对反量化结果进行立体声处 理;最后通过混迭处理、IMDCT和合成滤波器重建数字音频信 号的解码,生成PCM数据。然后将PCM数据写入声卡设 备,即可实现音频文件的播放。 2 、MP3播放原理:在linux内核中有已经做好了的声卡驱动程序,所 以当我们加载声卡驱动后我们就会在文件系统的/dev/下看到 /dev/dsp 这个声卡文件,根据文件的特性我们只要把我们的解码后 的音乐文件不断地读出并写入声卡文件即可实现正常的声音播放
3、, 其 中我们读文件用read()这个系统调用函数写文件用write()这系统调 用,用ioctl()控制声卡文件的某些参数。 3、实现快进、快退的方案: a:循环读写文件之前创建一个子进程,这个子进程专门负责循环检 测getchar()中输入的字符,根据不同的字符做出不同的反应,比如 快进、快退、正常退出等,这个方案优点是思路明了,便于接受,但 其缺点是进程是属于强占式的不利于进程的执行。 b:在循环读写文件之前, 编写一个函数mode(),用来把程序由阻塞同 步变为异步模式,这样只要在循环读写中加入getchar()就不会阻塞 进程了,该方法实现简单,使程序执行也更合理。 综上,我们选择b
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中设计图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 电子 综合 课程设计 报告 基于 ARM linux MP3 播放
