【开题报告】基于LINUX的互联网MP3播放器的设计研究
基于嵌入式Linux的MP3播放器设计

1. 2 MP3 的 Freame 格式
每个 Frame 都有一个帧头 , 长度是 4 BYTE ( 32 bit ) , 帧 头后面可能有 2 个字节的 CRC 校验 ,这 2 个字节是否存在 取决于 FRAMEHEADER 信息的第 16 bit : 为 0 则帧头后面无 校验 , 为 1 则 有 校 验 , 校 验 值 长 度 为 2 个 字 节 , 紧 跟 在
[2 - 8 ]
可编码之最大值 = 15 + 2linbits
(1)
在编码过程中 , 首先找到所要编码区域样值的最大 值 ,并依次查询各个霍夫曼码表 , 直到该码表能够对这一 最大值进行编码为 n ,然后计算用该码表进行编码所需的 比特数 ; 再尝试相同编码值域范围的另一些码表 , 找到最 小比特数需求的码表 ,最后进行编码 . 根据编码特点 ,Huffman 代码的Linux 的 MP3 播放器设计
王森林 ,庄圣贤
( 西南交通大学 电气工程学院 ,成都 610031)
Ξ
摘要 :设计了一种应用于嵌入式系统的 MP3 播放器 . 该播放器基于嵌入式 Linux 操作系统 、 应用 ARM 平台 . 介绍了 MP3 文件的编码原理 ,论述了解码过程及关键算法 ,并实现其在 ARM 平台的运 行 . 该播放器除能够播放 MP3 音乐外 ,还具有多国语言支持 、 按键控制 、 以及歌词同步显示等功能 . 关 键 词 :嵌入式 Linux ;MP3 ; 编码原理 ; 解码算法 中图分类号 :TP334. 3 文献标识码 :A 文章编号 :1671 - 0924 (2007) 03 - 0065 - 04
Wi =
毕业设计---MP3播放器的设计与实现

毕业设计 [论文]题目:MP3播放器的设计与实现系别:计算机科学与工程系专业:信息管理与信息系统姓名:学号:指导教师:2012年 05月 20日摘要摘要随着Linux系统主要有服务器向普通用户扩展,越来越多的人开始接触并使用Linux系统,可以说Linux是开源、免费的代称,具有极强的平台可伸缩性,可以多任务用户,有丰富的图形用户界面和强大的网络功能等等一系列优势。
在Linux下的Qt是一款跨平台的图形开发软件,它提供给应用程序开发者建立图形用户界面所需的所有功能,该软件利用已有的媒体文件的解码播放控件和Qt开发而成。
该播放器实现了播放MP3,并且支持其他的一些常见的媒体文件,如:MIDI、DAT、ASF、MPG和WAV等。
论文首先介绍了MP3与MP3播放器、研究内容,然后,论文介绍了系统的设计目标,划分并设计了系统功能模块,包括:播放控制窗口模块、播放列表管理模块、菜单管理模块等,设计了媒体文件和歌词文件的处理流程。
最后,论文介绍了系统的运行环境及运行效果,并对各个部分进行了图示说明。
关键字: Linux;Qt GUI框架;音乐播放器AbstractAbstractWith the Linux system to the general user, the server expansion, more and more people came into contact with and use the Linux system, you can say that Linux is open source, free of charge in lieu of that, with a strong platform for scalability, you can multi-task users, there are a number of advantages of the rich graphical user interface and powerful network functions. Qt is a cross-platform graphics development software under Linux, it provides all the functionality required to create a graphical user interface to application developers, the software to use the decoding of media files playback controls and Qt was developed. The players realized play MP3, and supports a number of other common media files, such as: MIDI, DAT, ASF, MPG, and WAV. The paper first introduces the MP3 and MP3 player, content and arrangement of the chapters.Firstly, this thesis introduces MP3 and MP3 player, Secondly, the design goal of the system is analyzed, and the function modules of the system are divided and designs, including playing control, playlist management, lyric display, menu management and help, also the process flows of media and lyric files are designed. Thirdly, the development platforms are introduced, and the detailed design and realization of various functions of the system are described. At last, the running results of the system are explained by the copied running screens.Keyword: Linux;Qt GUI;frameworks music playerAbstract (II)1. 前言 (1)1.1 Winamp (2)1.2 Foobar 2000 (2)1.3 千千静听 (3)1.4 课题简介 (3)2 .系统目标 (5)2.1 系统的功能模块设计 (5)2.2 MP3 文件的播放处理流程 (6)2.3歌词文件的处理流程 (6)3.系统详细设计与实现 (9)3.1 开发工具介绍 (9)3.2 C++ 介绍 (10)4. 界面窗口模块详细设计与实现 (14)4.1 控制界面窗口 (14)4.2 控制组件 (15)4.2.1 播放/暂停按钮 (15)4.2.2停止按钮的设计 (16)4.2.3.上一首按钮的设计 (16)4.2.4.下一首按钮的设计 (16)4.2.5.打开按钮的设计 (16)4.2.6.列表按钮的设计 (16)4.2.7.歌词按钮的设计 (17)4.2.8.静音按钮 (17)4.2.9.音量控制条 (17)4.2.10.进度控制条 (17)4.3播放列表界面 (17)4.4 MP3 文件播放控制模块详细设计与实现 (18)4.4.1 播放 (19)4.4.2 暂停 (21)4.4.3 停止播放 (21)4.4.4 上一首 (22)4.4.5 下一首 (23)4.4.6 打开文件并播放 (23)4.4.7 向列表中添加单首 MP3 文件 (24)4.4.8删除列表中的一首 MP3 文件 (24)4.4.9播放器控制窗口上的菜单功能 (25)5.系统运行环境及效果 (26)5.1 系统运行环境 (26)5.2 运行效果 (26)5.3 播放器的播放列表窗口界面 (28)结束语 (29)致谢 (30)附录A (32)A.1系统主函数代码 (32)A.2控制界面函数代码 (32)A.3列表窗口函数代码 (44)A.4歌词实现代码 (46)1 前言办公自动化管理系统(OA),是伴随着Internet技术在各个领域的广泛应用,和各行各业企业信息化建设步伐的加快应运而生。
基于嵌入式Linux的多媒体播放器设计的开题报告

基于嵌入式Linux的多媒体播放器设计的开题报告1. 题目介绍本开题报告介绍的是基于嵌入式Linux的多媒体播放器设计。
该项目将实现一个嵌入式的音/视频播放器,运行在ARM Cortex-A系列芯片上的嵌入式系统上,支持常见的音频和视频格式,如MP3,WAV,AVI 等。
2. 研究背景在现代生活中,多媒体技术已经普及到了各个领域,如音乐,影视等。
随着嵌入式技术的逐渐成熟,嵌入式设备逐渐普及,使得人们可以在小体积的设备上进行高质量的媒体播放。
嵌入式Linux作为一种轻量级的操作系统,其优秀的稳定性和灵活性使得它成为了一个理想的嵌入式平台。
然而,嵌入式Linux上的多媒体播放器并不普及,本项目将填补这一空白。
3. 研究内容本项目将涉及以下内容:3.1 嵌入式系统设计本项目将基于ARM Cortex-A系列芯片设计一个嵌入式系统,该系统将包括一个ROOTFS,内核和启动程序。
该系统将使用busybox等轻量级软件包,以提高系统的性能和效率。
3.2 多媒体播放器设计基于嵌入式Linux平台,使用Qt框架设计嵌入式多媒体播放器,支持常见的音频和视频格式,如MP3,WAV,AVI等。
通过GStreamer等软件,实现对多种格式的解码和播放。
3.3 硬件设计本项目将涉及嵌入式系统设计,包括选取适合的ARM Cortex-A系列芯片及外设、存储器及其管理、通信接口的设计等,为多媒体播放器的功能提供包括硬件支持。
4. 研究目标本项目的主要目标是,实现一个在嵌入式Linux平台下的音/视频播放器,具有强大的多媒体播放功能和可靠的性能。
同时,通过实现该播放器,将嵌入式Linux应用到媒体播放领域,提高了嵌入式系统的应用价值。
5. 研究方法本项目的研究方法包括以下内容:5.1 系统设计根据硬件和软件的需求设计嵌入式系统,包括引导程序,内核,ROOTFS ,应用程序等,使用交叉编译工具链编译与开发。
5.2 多媒体播放器设计使用Qt框架进行设计开发;使用GStreamer或MAplayer或FFmpeg解码底层软件包。
基于嵌入式Linux的专业数字音频播放器的设计与实现

· 2018年9月 ·今日电子基于嵌入式 Linux 的专业数字音频播放器的设计与实现中国电子科技集团公司第三研究所 王辉 黄川 史东东所谓的音质主观评价,指的是在规定的条件,由听音者的主观感受来评价电声产品和系统的声音质量水平。
在这个主观评价检测系统当中,节目源就是检测用的信号源,听音者的耳朵好比是测量仪器,检测对象是受评产品或系统的重放声。
由于音质是个心理量,是用“评价尺度”作单位的,因此,为了确保在不同时空对同一被评对象进行音质主观评价时获得的音质评价结果具有一致性和可比性,就必须研制和使用专业的数字音频播放器。
我们设计的专业数字音频播放器为2U的标准设备,采用高精度的电容电阻和专业的D A转换芯片,不仅能方便用户对使用,而且还能够避免在实际应用当中可能发生的对评价结果有影响的不确定因素。
该设备具有技术先进、结构简单、可靠性高的特点,配有针对播放器专门研发的P C端软件实现对节目源播放的控制和测试场景的编辑,非常适合测试环境固定的场合。
设备研制概述该系统使用三星公司的S5P V210作为主处理器,运行主频1GHz,使用的内核版本为l i n u x3.0.8。
该处理器负责前面板按键和液晶屏的管理,网络接口控制以及节目源数据的存储、解码等功能。
节目源数据的存储采用T F卡完成,其中的数据经过多级加密处理。
U S B接口备用(可作为数据录入接口),防止随意的数据读写和恶意的节目源数据复制。
在嵌入式开发平台上完成对专用级超高保真格式的WAV文件的解析,并通过Tiny210的SPI接口将音频数据送到FPGA,在FPGA中将数据配合专用的音频时钟再送到D/A转换芯片输出模拟音频,系统框图如图1所示。
核心模块功能如下。
处理器:实现wav+文件的解密、解码;逻辑处理:实现I2S采样频率适配、音频数据格式转换,以及节目源播出过程中开始结尾的淡入淡出功能;D/A转换:实现数模变换;存储器:保存音质主观评价用节目源标样,节目源为 w a v+格式,并且经过加密处理。
基于嵌入式Linux的MP3播放器的设计与实现

由表2、表3可得,QPSO算法明显比PSO算法的结果精 确,运行次数也有所减少,采用量子行为的粒子群优化算法能 够有效确保算法的收敛,操作简单,使用方便,并且使粒子群 优化算法有了更快的收敛速度;但基于量子行为的粒子群优 化算法容易陷入局部极小点,且搜索精度不是很高。而cQPSO 算法又比QPSO算法运行次数有所减少,结果更加精确; cQPSO算法不仅通过全同粒子系改善了初始种群的质量,而 且通过对粒子的全局最优值与粒子的局部最优值的比较,限 制粒子陷入局部最小搜索状态,提高粒子的局部搜索能力,节 省了搜索时间,使粒子能够快速地搜索到最佳位置,从而增强 了算法的局部寻优能力和收敛速度及计算精度。计算结果表 明cQPSO是有效的,可行的。
gress on Evolutionary Computation.Piscataway,NJ:IEEE Ser- vice Center,2002:1051-1056.
【3】 Shi Y C.Particle SWalTll optimization:developments,applications and resources[C].IEEE Int Congress on Evolutionary Computa- tion.Piscataway,NJ:IEEE Service Center2001:81-86.
基于嵌入式Linux的MP3播放器的设计与实现

基于嵌入式Linux的MP3播放器的设计与实现
赵鹏
【期刊名称】《现代计算机(专业版)》
【年(卷),期】2011(000)005
【摘要】分析基于嵌入式Linux的MP3播放器的关键技术,设计和实现一种基于嵌入式系统的MP3播放器.该播放器利用QT技术和开源的音频解码器libmad编程实现,运行在嵌入式Linux和ARM9硬件平台.
【总页数】3页(P110-112)
【作者】赵鹏
【作者单位】太原师范学院计算机系,太原030012
【正文语种】中文
【相关文献】
1.基于STM32的MP3播放器设计与实现 [J], 周双飞;黄海波;简炜;高云;王志虎
2.基于嵌入式Linux的MP3播放器的设计与实现 [J], 汪永好;周延森
3.基于嵌入式Linux与QT的MP3播放器的设计 [J], 王灵芝;陈磊松
4.基于嵌入式Linux的MP3播放器设计 [J], 王森林;庄圣贤
5.基于嵌入式Linux的MP3播放器设计 [J], 王森林; 庄圣贤
因版权原因,仅展示原文概要,查看原文内容请购买。
一种基于Linux的MP3播放器设计

2.2 GDB(GNU Debugger) 调试器 GDB 主要是帮助开发者查看一个正在运 行 的 程 序 内 部的执行情况。它可以指定一个程序的启动方式, 可以指定程序 的停止条件, 可以改变程序的运行状态。通过 GDB file core 文 件 可以启动并且调试可执行文件。GDB 的常用命令如表 2 所示。 2.3 Vim (Vi IMproved) Vim[4] (Vi IMproved)主 要 是 由 Bram.moolenaar(bram@vim.org) 开发和维护的一个源代码开发的慈善软件。Vim 是当今优秀的编
用来记录操作 mad_stream 得到的错误代码。错误代码在 mad.h 文 件中有详细的定义。
struct mad_header { enum mad_layer layer; /* audio layer (1, 2, or 3) */
enum mad_mode mode; /* 通道模式 (see above) */ int mode_extension; /* 附加的模式信息 */ enum mad_emphasis emphasis; /* de- emphasis to use (see above) */ unsigned long bitrate; /* 位率(bps) */ unsigned int samplerate; /* 采样频率 (Hz) */ unsigned short crc_check; /* frame crc accumulator */ unsigned short crc_target; /* final target crc checksum */ int flags; /* flags (see below) */ int private_bits; /* private bits (see below) */ mad_timer_t duration; /* audio playing time of frame */ } struct mad_frame { struct mad_header header; /* mpeg 音频头 */ int options; /* 解码选项 (from stream) */ mad_fixed_t sbsample[2][36][32]; /* synthesis subband filter samples */ mad_fixed_t (*overlap)[2][32][18]; /* layer iii block overlap data */ } 结构体 mad_header 中存储了媒体文件的一些基本信息, 如采 样 率 、 位 率 、 通 道 模 式 等 。 结 构 体 mad_frame 保 存 了 struct mad_header 的信息。 struct mad_pcm { unsigned int samplerate; /* 采样率 */ unsigned short channels; /* 通道数 */ unsigned short length; /* number of samples per channel */ MAD_fixed_t samples[2][1152]; /* PCM output samples [ch][sample] */ }; struct mad_pcm 包含采样率、声 道 数 以 及 PCM 采 样 数 据 。 这 些参数可用来初始化音频设备。 struct mad_synth { mad_fixed_t filter [2][2][2][16][8]; /* polyphase filterbank outputs */ unsigned int phase; /* current processing phase */ struct mad_pcm PCM; /* PCM output */ } mad_synth 结 构 体 中 的 关 键 域 PCM 保 存 解 码 和 合 成 后 得 到 的 PCM 数据。 在结构体 PCM_t 中存储了 PCM 数据相关的内容。 typedef struct { /* pcm name*/ char* pcm_name; /* sample rate (default = 44100)*/ unsigned int sample_rate; /* number of channel*/ int channels; /*number of frames*/ snd_pcm_uframes_t period_size; /*number of period*/ int periods; /*bytes default 4096*/ snd_pcm_format_t format; } PCM_t; 要 完 成 PCM 设 备 的 初 始 化 操 作 , 首 先 需 要 指 定 一 个 snd_pcm_t 类型的 PCM 设备, 然后通过 snd_pcm_stream_t 类 型 指 定 PCM 流。这个流可以被用来播放或者采集声频信息, 另外还要
基于Linux的多媒体网络播放系统的设计的开题报告

基于Linux的多媒体网络播放系统的设计的开题报告一、研究背景网络播放系统作为一种基于互联网技术的音视频播放系统,在现代家庭、企业和公共场所得到了广泛应用。
目前市场上已经出现了很多的网络播放系统产品,但是这些产品的功能和性能大多有限,不能满足实际的应用需求。
在此背景下,本课题将研究一种基于Linux的多媒体网络播放系统,旨在设计一种高性能、高可靠性、易于维护和扩展的系统,可以满足现代家庭、企业和公共场所的音视频播放需求。
二、研究目标本课题的研究目标主要包括以下几个方面:1. 设计一种基于Linux的多媒体网络播放系统,实现音视频播放和管理功能。
2. 提高系统的性能和可靠性,通过优化系统架构、网络传输、数据存储和播放控制等方面实现。
3. 支持多种音视频格式和解码器,能够兼容各种播放设备和平台。
4. 实现系统的扩展和灵活配置,支持多种网络环境和设备连接方式。
5. 提供友好的操作界面,方便用户使用和管理系统。
三、研究内容本课题的研究内容主要包括以下几个方面:1. 系统需求分析和架构设计:对系统需要实现的功能进行分析和归纳,确定系统的总体架构和模块划分。
2. 网络传输和数据存储:设计系统的网络传输协议和数据存储方式,确保音视频的稳定传输和高效存储。
3. 播放控制和解码器支持:设计系统的播放控制模块,实现用户对音视频的控制和操作功能。
同时支持多种音视频格式和解码器,确保兼容性和可扩展性。
4. 系统性能优化和可靠性保证:对系统各模块进行性能优化和错误处理设计,提高系统的性能和可靠性。
5. 系统界面设计和用户体验:设计系统的用户界面,提供友好的操作界面和使用说明,保证用户操作的便捷性和舒适性。
四、研究方法本课题的研究方法主要包括以下几个方面:1. 文献调研:通过查阅相关文献,了解当前市场上的主流网络播放系统产品以及相关技术的最新进展和应用情况。
2. 系统设计和编程:基于Linux平台和相关技术实现系统的各个模块,包括网络传输、数据存储、播放控制和用户界面等。
基于ARM的嵌入式linux系统下的MP3设计的开题报告

基于ARM的嵌入式linux系统下的MP3设计的开题报告一、选题背景近年来,随着嵌入式系统的应用越来越广泛,嵌入式linux系统的研发和应用也越来越普遍。
MP3播放器作为嵌入式系统中的一个典型应用,具有体积小、功耗低、功能强大等特点,已经广泛应用于移动设备、家庭娱乐等领域。
本次选题旨在设计一个基于ARM的嵌入式linux系统下的MP3播放器,旨在探究嵌入式系统在音频处理中的应用,以及掌握相关的音频处理技术。
二、选题意义随着数字音频技术的不断发展,数字音频处理也成为嵌入式系统中的一个重要应用领域。
MP3作为一种常见的数字音频格式,具有压缩率高、音质好等特点,其在嵌入式系统中的应用领域广泛。
本次选题以基于ARM的嵌入式linux系统为平台,设计一个MP3播放器,旨在探究音频处理相关技术,并运用到实际的项目中,进一步提升系统开发的技术水平。
三、设计思路本次MP3播放器设计采用基于ARM的嵌入式linux系统,整个设计流程可以分为系统硬件设计和软件设计两部分。
系统硬件部分包括选用适合的ARM芯片、外部存储器、音频解码芯片等。
软件部分则包括linux 系统的移植、音频解码软件的移植以及控制软件编写等。
1、硬件设计在硬件部分,我们需要选择适合的ARM芯片作为系统的核心,选择适合的音频解码芯片进行音频解码,同时需要考虑系统中的外部存储器等。
具体的设计思路如下:(1)选用ARM芯片在本次设计中,我们选用Cortex-A8这一款高性能的ARM芯片作为系统的核心。
该芯片的主要特点是性能高、功耗低,具有很好的应用前景。
(2)选用音频解码芯片在本次设计中,我们选用VS1053这一款流行的音频解码芯片。
该芯片能够实现对MP3、WMA等多种音频格式的解码,同时还具有多种音效功能。
(3)考虑外部存储器为了实现MP3播放功能,我们需要考虑外部的存储器。
在本次设计中,我们可以选用SD卡作为外部存储器,通过SPI协议与系统进行通信。
电子综合课程设计报告--基于ARM+linux的MP3播放器

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

Linux课程设计报告报告题目:网络音频点播器作者所在系部:计算机科学与遥感信息技术学院作者所在专业:计算机科学与技术作者所在班级: B12511 作者姓名:王硕作者学号: 20124051117 指导教师姓名:王慧娟完成时间: 2015年6月29日《Linux下C语言高级编程》课程设计任务书一、设计目的本课程设计是学生学习完《Linux C高级编程》课程后,进行的一次全面的综合训练,通过课程设计,让学生更好地掌握操作系统的原理及实现方法,加深对操作系统基础理论和重要算法的理解,加强学生的动手能力。
二、课程设计基本要求每人从所给题目中任选一个(如自拟题目,需经教师同意,可以多选,鼓励多做),每个学生必须独立完成课程设计,不能相互抄袭;设计完成后,将所完成的工作交由老师检查;要求写出一份详细的设计报告。
三、设计内容及设计要求题目一:基于Linux的网络实时音频组播系统网络音频多播系统有客户端和服务器两部分组成。
服务器主要负责把不同频道的数据发送到相应的多播组,服务器采用多线程模型以提高运行质量,音频数据使用流媒体。
客户端采用多进程模式,进程间通信方式采用管道或者本地套接字,主进程负责从多播组接收数据并写入管道,子进程从管道中读出数据并调用播放器播放音频。
题目二:基于Linux的企业内部通信工具企业内部通信工具由客户端和服务器组成,多个客户端对应一个服务器,该项目能够保证公司的秘密资料只在公司内部流动,并且能够让员工之间方便通信。
服务器包括注册处理、聊天处理、登陆处理、传输文件处理四个模块。
客户端包括注册、登陆、聊天、传输文件四个模块。
客户端之间的通信由服务器转发并做好记录。
题目三:自拟题目要符合课程设计的难度和工作量(要求学生如自拟题目提前与老师沟通)。
四、课程设计考核方式课程设计成绩评定的依据有设计文档资料、具体实现设计方案的程序及课程设计考勤登记表,其中平时成绩占总成绩的20%。
(注:最后需要验收)优:有完整的符合标准的文档,文档有条理、文笔通顺,格式正确,其中有总体设计思想的论述;程序完全实现设计方案,设计方案先进,软件可靠性好;良:有完整的符合标准的文档,文档有条理、文笔通顺,格式正确;有完全实现设计方案的软件,设计方案较先进;中:有完整的符合标准的文档,有基本实现设计方案的软件,设计方案正确;及格:有完整的符合标准的文档,有基本实现设计方案的软件,设计方案基本正确;不及格:没有完整的符合标准的文档,软件没有基本实现设计方案,设计方案不正确。
MP3播放器的设计与实现(Linux下MiniGUI用户界面与播放功能的开发)(软件工程课程设计)

《基于S3C2410的嵌入式硬盘MP3播放器的设计与实现(Linux下MiniGUI用户界面与播放功能的开发)》软件工程课程设计目录第一章引言 (1)第二章嵌入式系统概述 (2)2.1 嵌入式系统定义 (2)2.2 嵌入式系统发展 (2)2.3 嵌入式系统开发流程 (3)2.4 嵌入式开发流程的特点 (4)2.5 课题背景 (6)2.5.1 HHARM9-EDU 平台硬件模块与接口 (6)2.5.1 市面常见的MP3播放器 (7)2.5.2 本文开发的硬盘MP3播放器 (9)第三章嵌入式Linux操作系统 (12)3.1 嵌入式操作系统分类与相关产品 (12)3.2 嵌入式Linux的优势 (12)3.3 Linux 在HHARM9-EDU平台上的移植 (13)3.4 系统开发环境 (14)3.4.1 宿主机 Linux 系统安装 (14)3.4.2 交叉编译环境的建立 (15)第四章嵌入式Linux平台下的MiniGUI程序设计 (16)4.1 嵌入式系统GUI的实现方法 (16)4.1.1 MiniGUI (16)4.1.2 MicroWindows (16)4.1.3 Qt/Embedded (16)4.2 各种嵌入式GUI系统的比较 (16)4.3 MiniGUI 在嵌入式Linux平台下的移植 (17)4.3.1 MiniGUI 库在HHARM9-EDU平台的移植 (18)4.3.2 MiniGUI 宿主机模拟平台qvfb的建立 (18)第五章嵌入式MP3播放器的设计与实现 (20)5.1 MP3概述 (20)5.1.1 MPEG LAYER III音频压缩算法介绍 (20)5.1.2 MP3文件结构分析 (20)5.2 MP3播放器的详细设计 (22)5.2.1使用硬件设备 (22)5.2.1.1 触控屏 (22)5.2.1.2 LCD 彩色液晶显示屏幕 (23)5.2.1.3 小键盘 (23)5.2.1.4 硬盘IDE接口 (24)5.2.1.5 音频输入/输出 (24)5.2.2 MiniGUI图形开发 (24)5.2.2.1 程序结构图 (24)5.2.2.2 主窗体界面建立 (25)5.2.2.3 MP3 文件列表读取与显示 (30)5.2.2.4 触控屏菜单与按键实现 (34)5.2.2.5 仿LED七段数码管显示的实现 (36)5.2.2.6 小键盘操作的实现 (38)5.2.2.7 使用IPC与播放进程通信 (41)5.2.2.8 录音放音功能的实现 (42)5.2.3 应用程序移植 (44)5.2.3.1 启动shell 脚本编写 (44)5.2.3.2 引导代码及文件系统烧录 (45)第六章结束语 (47)致谢 (48)参考文献 (49)第一章引言随着后PC时代的到来,嵌入式产品已不再是一个新的概念,嵌入式产品遍布于人们的日常生活,从移动电话,PDA到家用洗衣机,空调,冰箱,机床控制,武器制导系统。
Linux下mp3播放器的实现

基于Linux下mp3播放器的研究实现学生姓名:XXX 指导老师:XXX摘要:由于Linux具有高度便携性和高度自由。
最近几年,它在移动设备和个人电脑领域的应用也越来越广泛。
鉴于以上应用领域对用户界面友好性方面的要求,几乎所有的此类应用都是采用图形用户界面。
基于GTK的GNOME,是Linux领域中最主要的桌面环境。
而GTK本身,则是创造图形用户界面的最流行的跨平台GUI工具箱之一。
这里将通过一个使用GTK和GStreamer技术的简单mp3播放器的实现,详细描述Linux环境下的图形界面编程技术。
关键词:Linux;mp3播放器;GTKThe Examination and Implementation of Mp3 Playerin LinuxStudent name: XIAO Hong-zhe Advisor:ZHOU Shu-ren Abstrac t:Linux editions installed on both mobile devices and personal computers have become increasingly commonplace in recent years, owing largely to its highly portability and high degree of freedom. In view of the importance of user friendly operation, almost all of these editions are based on Graphical User Interface(GUI). Based on GTK, one of the most popular cross-platform widget toolkits for creating graphical user interfaces, Gnome is a dominant desktop environment—the GUI which runs on top of a computer operating system. This paper mainly focused on the implementation of a simple GUI interfaced mp3 player using GTK and GStreamer technology under Gnome environment, will illustrate detailed steps on Linux GUI programming.Key words:Linux;mp3 Player;GTK目录1 引言 (1)1.1 课程设计目的 (1)1.2课程设计的意义 (1)2 编译环境的搭建和检测 (2)2.1 基本编译环境的搭建 (2)2.2 安装GTK/GNOME编译环境 (2)2.3 安装GStreamer编译环境 (4)3 需求分析 (6)3.1 程序设计需求 (6)3.2 需求分析 (6)4 详细设计 (8)4.1 程序文件的组织 (8)4.2 main.c文件 (8)4.3 图形界面的结构 (10)4.4 PLAY按钮 (11)4.5 菜单 (13)4.6 mp3文件的选取与文件名的显示 (14)4.7 GStreamer和文件的播放 (16)4.8 使用滑块来控制的播放进度 (21)4.9 实现的一点补充 (24)5 系统实现 (26)5.1 Makefile文件的编写 (26)5.2 编译,安装,运行,卸载 (27)5.3 制作源代码安装包 (27)6 结束语 (29)致谢 (30)参考文献 (31)1 引言1.1 课程设计目的随着时代的进步,科技的发展。
linux的MP3设计

目录1、引言2、MP3编码和解码原理2.1 MP3编码原理2.2 MP3解码原理3、MP3的设计与实现3.1硬件设计3.2软件设计4、结束语基于嵌入式linux的MP3设计与实现摘要:设计一种基于s3c2410的MP3播放器。
该播放器是基于嵌入式linux操作系统、应用s3c2410为平台。
详细介绍了MP3编码和解码的原理、设计及实现过程。
由于采用的是嵌入式linux实现的,该种MP3播放器可以很容易地移植到其他微控制器系统中,使设备兼具MP3播放功能的设备。
关键字:嵌入式linux;MP3;编码和解码原理;设计及实现一、引言MP3(MPEGAudioLayer-3)是一种数字音频压缩技术,数字压缩速率达到每通道128kbps,数比例可以达到12:1。
MP3播放器的主要作用就是解压压缩的MP3数字音频,再现MP3音乐,同时为携带方便还要能存贮MP3文件,MP3歌曲可以从电脑上下载。
MP3播放器主要由MP3文件解码部分、文件存贮部分、文件下载接口和语音播放部分构成。
根据解码的方法播放器可分为软解码和硬解码两种:软解码是利用控制软件解压缩MP3文件,它要求控制器处理速度要快。
MPEG-1音频标准是一个普遍适用的音频压缩标准,它对音频源没有任何要求。
它利用人耳听觉系统的感知特性,压缩率的取得来自去掉人耳听不到的信息细节,虽然压缩是有失真的,但对人耳来说这些失真是听不到的。
也即对人耳而言,MPEG-1音频压缩是不失真的。
因此,MPEG-1音频标准的应用非常广泛。
二、MP3编码和解码原理音频压缩由编码和解码两个部分组成。
把波形文件里的数字音频数据转换为高度压缩的形式(称为比特流)即为编码;要解码则把比特流重建为波形文件。
1、MP3编码原理下图是MP3的编码流程图:MP3是MPEG-1音频标准中的LayerIII的简称,它基于感知音频编码,结合了MUSICAM (掩蔽模式通用子带集成编码与多路复用) 算法和ASPEC ( 自适应频谱感知熵编码) 算法的优势, 利用人耳的听觉特性, 在保证高品质的音响效果的前提下,可以把原始的音乐数据压缩为原来的十二分之一,目标编码速率为声道, 适合于网络上音频数据64kbps 的传输。
毕业设计任务书-基于Linux的mp3播放器设计与实现

南昌航空大学东软班毕业设计任务书I、毕业设计题目:基于Linux的mp3播放器设计与实现II、毕业设计使用的原始资料(数据)及设计技术要求:数据:Ubuntu904、播放mp3格式音乐、播放mp4格式的MV视频技术要求如下:1. vi编辑器,用C语言在vi中编写代码2. GTK设计播放器的图形界面3. GStreamer作为流媒体应用程序框架4. Makefile定义编译规则,通过make工具进行编译链接5. GCC编译器编译工程代码6. GDB进行代码的调试工作II I、毕业设计工作内容及完成时间:第一阶段:2013.11.252.03论文开题,主要完成开题报告,确定毕业设计研究题目和方向。
2.02.10 完成项目中需求分析阶段。
2.11-2013.12.18 完成项目概要设计阶段。
第四阶段:2013.12.19-2013.12.29 完成项目详细设计阶段。
第五阶段:2013.12.30-2014.01.05 完成中期检查报告。
第六阶段:2014.01.06-2014.01.20 完成项目编码及测试阶段。
第七阶段:完成系统,备齐相关文档,制作答辩PPT并做好答辩的准备。
Ⅳ、主要参考资料:[1] 王世江(改编),鸟哥(作者)《鸟哥的Linux私房菜》人民邮电出版社,第3 版,2010-7[2] 多媒体开发框架GStreamer 开源社区网[3] 何世勇《基于GTK的GUI编程[J]》,中国水运(理论版),2006[4] 崔尚卿《基于Gnome/GTK+的图形界面的几个实现技巧[J]》,计算机时代,2005[5] 陈皓《跟我一起写makefile》[6] 王健,Rusty Lunch 《MIDLinux新一代播放器的设计与实现[J]》,计算机技术与发展,2009[7] 《GCC技术参考大全》清华大学出版社软件学院专业类班学生(签名):日期:自 2013 年 11月 25 日至2014年 4月 4日指导教师(签名):。
linux下MP3实现与设计文档

那么调用这个fork函数时发生了什么呢?一个程序一调用fork函数,系统就为一个新的进程准备了前述三 个段,首先,系统让新的进程与旧的进程使用同一个代码段,因为它们的程序还是相同的,对于数据段和堆栈 段,系统则复制一份给新的进程,这样,父进程的所有数据都可以留给子进程,但是,子进程一旦开始运行, 虽然它继承了父进程的一切数据,但实际上数据却已经分开,相互之间不再有影响了,也就是说,它们之间不 再共享任何数据了。而如果两个进程要共享什么数据的话,就要使用另一套函数(shmget,shmat,shmdt等) 来操作。现在,已经是两个进程了,对于父进程,fork函数返回了子程序的进程号,而对于子程序,fork函数 则返回零,这样,对于程序,只要判断fork函数的返回值,就知道自己是处于父进程还是子进程中。
肝3作为一种音频格式将以前cd格式的容量压缩到十分之一而音质却相差无几为其在网络的传播打下了坚实的基础随着闪存式仲3播放器的出现其较好的音质良好的便携性使人们随时随地可以欣赏高品质音乐的要求得到了满之前的mp3播放系统大都基于多芯片设计随着arm器件性能的不断提升以前需要两块甚至多块芯片才能处理的数据现在大都可以通过单块arm芯片完成在降低系统成本的同时还简化了系统的设计过程
5.1.嵌入式系统概述4
5.2.硬件特性5
5.3.嵌入式操作系统和应用软件5
5.4.嵌入式系统开发模式5
第六章开发板平台搭建10
第七章详细设计与实现11
7.1.流程图11
7.2.主要功能模块实现13
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
开题报告
计算机科学与技术
基于LINUX的互联网MP3播放器的设计研究
一、综述本课题国内外研究动态,说明选题的依据和意义
从第一款MP3的诞生,到现在快达到10年多的积累了,MP3随身听市场总量迅速扩大,成为IT行业新的增长点。
MP3随身听正以无可比拟的优势,逐渐成为传统磁带随身听、CD随身听之后市场上新的竞争者。
目前,MP3正以每年100-200%的速度不断蚕食这个巨大的市场,在2008年统计的是很市场总量已经达到1800万台左右。
我们可以很清楚的看到MP3行业的前景!
MP3的技术发展史:首先刚刚出现的MP3仅仅能实现音乐播放,快进,快退,下一首等简单的功能,随着科技的升级,MP3可以实现歌词同步,甚至播放视频。
随着网络的发展,我们也坚信,一款MP3仅仅能实现在pc终端上下载歌曲是远远不够的,它需要更加强大甚至依赖互联网。
所以我们设计这款网络物联网MP3音乐播放器,让它可以实现网络下载歌曲,在线听音乐,等功能,使MP3更加时尚,更加实用。
由于该MP3依赖于网络,现在的网络速度对该MP3是一个局限。
现如今在科技大爆炸的时代里,Internet 迅速发展,为我们提供了信息发布、信息检索的平台,我们有大量资源可以共享,在音乐共享这一块,为了能够更快、更方便、更好地分享音乐,网络MP3音乐播放器,呼之欲出,它是一款现在一般MP3的升级板,它给用户提供了随时随地上网搜索、下载音乐等的功能。
最近几年,便携式多媒体播放器已经成为带动整个消费电子走强的主力军。
虽然2007年的全球MP3市场增速放缓,但能提供高品质音频质量的MP3依然是消费者的心头好。
由此显示消费者已经由单纯追求播放能力变为追求高品质体验。
这也对开发便携式多媒体播放器的设计工程师提出了新的挑战。
针对这个趋势,我们在电子工程专辑媒体播放器网站开设了《便携式多媒体播放器音频设计》的专题讨论,并邀请了矽玛特(SigmaTel)应用工程师经理孔一星先生担任论坛嘉宾,与工程师一起探讨便携式多媒
体播放器音频设计的难点与解决之道。
在此,我们将一些精彩观点摘出,以使更多的工程师受益。
首先是怎么样处理输入限幅;其次是当待机的时候如何去除杂音;第三个是音频设计如何入手;第四是麦克风与扬声器如何去接。
二、研究的基本内容,拟解决的主要问题:
本课题研究的基于Linux的互联网MP3播放器,其中主要包括三大模块如下所示:
1. MP3,MP4播放模块:实现简单的歌曲或视频的播放,快进,快退,暂停等通用功能。
2. 资源管理器(数据库)模块:该模块是基于sqlite实现的一个数据库。
能保存MP3,MP4添加或播放过的歌曲到本地,并记录其歌曲或视频名在此,让你知道MP3播放过哪些歌曲,并且实现对本地资源的管理。
3. 网络模块:该模块是采用TCP/IP协议实现,建立一个客户端和一个服务器。
当客户端要哪首歌,把歌名发给服务器,服务器就开始搜索是否有该歌曲存在。
如果存在此歌曲,服务器返回YES,不存在则返回NO。
当服务器返回YES时,根据客户端需求是否需要下载该歌曲。
如果要下载该歌曲,请求返回到服务器,服务器就会以1KB buffer传送给客户端,当服务器把全部歌曲传到客户端时,客户端确认下载完成,服务器停止传送。
并且客户端能够把接收到的数据存放到指定位置。
拟解决的主要问题:
1.对网络MP3(基于C,C++)来说,需要熟练掌握C语言以及C++。
2.熟悉Linux开发环境,能够熟练使用ARM9开发板。
3.掌握数据库原理,能使用QT做简单界面。
三、研究步骤、方法及措施:
步骤:首先阅读国内相关研究成果,制定出论文的研究目标和需要实现的功能,再是编写论文的提纲,然后是根据论文提纲,收集资料,最后对收集到的资料进行筛选,整理,最后是撰写论文正文;
方法:资料检索法,参考文献查找法,比较分析法和数据统计法;
措施:通过图书馆借阅书本和上互联网进行查找资料。
参考文献
[1]刘燕.网络音乐著作权保护的法律思考——从MP3现象谈起[J].贵州师范大学学报(社会科学版),2002,4(5)
[2]赵桂莲,李俊红.建立对MP3音乐著作权的合理保护机制[J].广西社会科学,2004
[3]于胜刚.关于MP3数字化网络音乐作品的著作权问题[J].烟台教育学院学
报,2005,3(5)
[4]曾荇.浅议MP3的网络传播与著作权保护[J].湖南经济管理干部学院学
报,2005,6(7)
[5]张淑亚,李百超.关于MP3网上下载问题的探讨[J].河北法学,2007
[6]夏芸,赵学武.狼烟再起MP3市场谁主沉浮(待续)[J].电子知识产权,2008
[7]范磊.从新手到高手:C++全方位学习(DVD) .科学出版社, 2009
[8]张海藩.软件工程导论(第5版).学习清华大学出版社,2008
[9]王亚平.数据库系统工程师教程.清华大学出版社,2004
[10]李善平、季江明、尹康凯.边干边学(LINUX内核知指导).浙江大学出版社2002。