![音乐播放器的设计与实现_第1页](http://file2.renrendoc.com/fileroot_temp3/2021-11/13/a984a207-e8ce-4f85-8545-b671ca79cd6d/a984a207-e8ce-4f85-8545-b671ca79cd6d1.gif)
![音乐播放器的设计与实现_第2页](http://file2.renrendoc.com/fileroot_temp3/2021-11/13/a984a207-e8ce-4f85-8545-b671ca79cd6d/a984a207-e8ce-4f85-8545-b671ca79cd6d2.gif)
![音乐播放器的设计与实现_第3页](http://file2.renrendoc.com/fileroot_temp3/2021-11/13/a984a207-e8ce-4f85-8545-b671ca79cd6d/a984a207-e8ce-4f85-8545-b671ca79cd6d3.gif)
![音乐播放器的设计与实现_第4页](http://file2.renrendoc.com/fileroot_temp3/2021-11/13/a984a207-e8ce-4f85-8545-b671ca79cd6d/a984a207-e8ce-4f85-8545-b671ca79cd6d4.gif)
![音乐播放器的设计与实现_第5页](http://file2.renrendoc.com/fileroot_temp3/2021-11/13/a984a207-e8ce-4f85-8545-b671ca79cd6d/a984a207-e8ce-4f85-8545-b671ca79cd6d5.gif)
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第一章绪论1.1背景随着电子技术的飞速发展,嵌入式设备在各领域的应用越来越广泛, 复杂度 也越来越高,对其他开发方法也提出了更多的要求和更大的挑战。 在嵌入式设备 系统开发过程中需要将软件应用与操作系统编译连接成一个整体, 然后下载到目 标机上运行,所以,嵌入式设备的开发过程是一个复杂的过程。MP3作为高质量音乐压缩标准,给音频产业带来了具大的冲击。MP3技术使 音乐数据压缩比率大,回放质量高。如 CD格式的音乐数据压缩成MP3格式,音 效相差无己,但大小至少可压缩12倍。由于MP3音乐的较小数据量和近乎完美的 播放效果使其在网络上传输得以实现。1995年,MP3格式的音乐文件刚在网络上 传播
2、时,主要用Win amp等播放软件进行播放,使MP3音乐无法脱离计算机进行 播放,给音乐欣赏带来了不便。近几年以来,随着 MP3播放器的出现及其技术的 发展,人们对MP3播放器的要求越来越高,制造商在 MP3播放器的选型、设计、 开发、附加功能和适用领域等方面做了很多努力,设计了多种方案。本设计主要 是利用ARM技术设计一款新型的MP3播放器。ARM9是ARM公司的16/32位RSIC处理器,是适用于普通设备的一种高 性价比的微控制器。本设计采用的MCU是三星公司推出的ARM9芯片S3C2440, 具有低价格、低功耗、高性能、超小体积等特点主要适用于中高端场合,目前在 嵌入式系统中正得到日益广
3、泛的应用。S3C2440主频高达400M,片上集成了丰 富的资源:如IIS (In ter-IC sou nd)总线与DMA控制器,为与数模转换器(DAC) 的连接提供了一种理想的解决方案。MP3播放器的设计比较复杂且对处理器的要求较高,因而MP3播放器必须仔细设计以降低成本。本设计是在 ARM9平台上设计、实现一个MP3播放器。第二章系统总体方案2.1系统功能本设计提出了一种基于嵌入式 ARM处理器硬件平台的MP3播放器设计方 法。此播放器采用ARM体系结构中的ARM9作为系统控制器,利用外围设备 USB通用串行接口下载 MP3歌曲,用flashcard存贮MP3文件。主要对MP3做 了各个
4、方面的功能分析,对硬件设计、软件设计、软件实现、系统编译等方面做 了介绍。系统的主要部分是音频编码与解码,这是系统设计的核心。MP3播放器设计的突出问题就是硬件控制和软件控制, 另外还有硬盘控制、键盘控制、液 晶显示,这些控制都是基于一块芯片。基于 ARM9的MP3播放器设计的软件体 系结构采用分层模式,它包括软件层、硬件层、驱动层、操作系统层、及MP3播放器应用层。主要实现歌曲的播放。2.2设计指标1、MP3工作电压为具有3.3V左右,电流250mA,具有音频解码和播放功能。2、通过USB接口与大容量外部存储设备进行数据传输,能实现网络播放与 下载、触摸屏输入功能。3、操作界面统一管理功能,
5、支持mp3格式、wma格式,该MP3播放器除具有 播放音乐外还附有歌词同步等功能。4、MP3在不充电的情况下待机2小时。2.3系统总体结构设计嵌入式微处理器采用三星公司生产的ARM9处理器S3C2440,处理器采用ARM9处理器,它具有小体积、低功耗、低成本、高性能的特点是嵌入式微处理 器的理想选择。同时,ARM9处理器可以运行嵌入式操作系统,处理速度足够软 件解码,扩充性好,是目前理想的解决方案。本设计的系统总体结构如图2.1。三星公司推出的基于ARM9内核32位RISC嵌入式微处理器S3C2440,最高可 运行在200MHz。该芯片的功能强大,完全能够满足 MP3定点或浮点解码程序的 实现
6、,还能够将Linux操作系统移植进入该芯片,实现包括播放 MP3在内的多进 程,多任务处理,是一种理想的解决方案。硬件部分软件部分第三章硬件详细设计方案3.1硬件设计说明系统设计的硬件部分主要包括电源、ARM微处理器芯片、存储芯片、USB 接口芯片以及音频芯片等。可归结为两个部分:(1)微处理器S3C2440,及其外 围电路,具体包括复位电路,存储模块(包括 FLASH、RAM和ROM)、电源。 (2)系统的外围部分:音频接口、 UART、USB接口、带触摸屏的LCD、调试及 下载接口。音频编解码可以采用 PHILIPS的UCB1400等芯片。LCD可以采用 320X240的TFT液晶显示器,
7、电源则宜用可充电锂电池。复位电路BUS接口第8页以太网控制芯片带触摸屏的LCDFLASH SDRAM 电口功率放大喇叭图3.1硬件系统结构图如上图3.1可知,在此次设计中,MP3主要组成部分是:CPU、MP3解码部分、 音频放大器、FLASH存储器及SDRAM存储器。我们所设计的MP3播放器以微 处理器S3C244O为中心,包括外部存储器、串口 UART、音频接口、带触摸屏的 LCD、USB接口、复位电路、调试及下载接口。解码部分由软件完成。整个播放 器整体控制。此MP3播放器的核心是三星公司的 S3C2440芯片。系统可以分为核心部分、 音频编解码部分、音频输出、液晶控制等几个部分,此外还有
8、必不可少的电源管 理等部分。音频编解码可以采用PHILIPS公司的UCB1400芯片。LCD可以采用 试验箱上的TFT LCD显示器。硬件设计部分主要是 S3C2440与UCB1400芯片 的连接。具体的模块说明如下。3.2处理器模块S3C2440S3C2440是三星公司生产的基于 arm920T内核的RISC微处理器,其主频可 达203MHz,适用于信息家电、PDA、手持设备、移动终端等领域。S3C2440除 具备一般嵌入式芯片所具有的总线、SDRAM控制器和3个串口等外设之外,还 具有 TFT LCD控制器、USBSIave、USB Host、I2C总线控制器、SPI控制器、IIS 音频接
9、口、SD&MMC存储卡接口等丰富的扩展功能、AD转换器,有GPIO (通 用10 口),还有nandflash控制器,这些东西都有一些寄存器来控制。芯片工作 电压3.3/1.8 V,最高运行速度可达200 MHz。由于它是一款专为手持设备设计的 低功耗处理器.因此可以降低手持设备成本,具有较高的性价比。该芯片是基于 ARM9而开发的多功能 SOC(signal operation control。ARM9是一种小型、快速、 低能耗、集成式的内核。它的功能和特性如下:具有较高的处理速度,通过内部锁相环,最高可在 203 MHz的系统时钟下运行;具有极低的功耗其核心供电电压为1. 8 V,
10、外围I/O 口使用3. 3 V电压;具有3种低功耗控制方式,甚至可关闭 CPU中 除唤醒逻辑外的所有功能,极大地降低了功耗;与其他arm器件相比,S3C2410 片上集成了更多的外设接口,如外部存储控制器、LCD,DMA,USBl. 1,SD,M。MC卡控制器、UART,SPI接口、l2C总线控制器和I2S总线控制器、l2S音 频接口、PWM定时器、看门狗、117个外部I/O 口、24个外部中断源、A/D转 换器和触摸屏接口、实时时钟及片上 PLL的时钟产生等。使用集成接口,有利 于功能的扩展。3.3存储模块存储模块由一片64 MB的SDRAM和两片16 MB的Flash组成,可为系统 提供足
11、够的存储空间。Flash存储器是一种可在系统电擦写,掉电后信息不丢失 的存储器。与Flash存储器相比,SDRAM不具有掉电保持数据的特性,但存取 速度大大高于Flash存储器,且具有读/写特性。因此系统中SDRAM主要用作程 序的运行空间、数据及堆栈区。3.4音频解码/编码模块决定MP3音质的关键是主控解码器件中的数模转换器 (DAC)单元和耳机功 率放大器单元。DAC负责把解码的数字音频流转换成可驱动耳机发音的模拟音 频信号;耳机放大器则可把模拟音频信号放大到可驱动耳机的功率。该系统音频解码/编码模块采用PHILIPS公司的UCB1400芯片,UCB1400的外部接口共有 48个管脚,大部
12、分都提供 AC Link、中断、音频、ADC、触屏、功率和其它接 口。其接口电路图如图3所示。UCB1400是一种用于音频处理的20位立体声解 码/编码器。它在一个芯片上集成了音频解码/编码功能、一个触屏控制器和功率 管理接口。10个通用管脚可进行可编程输入/输出,使得主机控制器可执行控制 功能和监控运行状态。在此次设计中,UCB1400主要的作用是音频编解码器与触摸屏控制器,还 有就是对电源管理进行监控。S3C2440可通过IIC音频接口与UCB1400连接。音频数据图3.2音频模块流程3.5网络模块S3C2440自身并没有网络控制器,接入以太网时需增加独立的以太网控制 器,在此选用 DM9
13、000作为以太网控制器。该器件具有通用的处理器接口、 10M/100M自适应、4K双字节静态存取存储器、低功耗、高处理性能,可支持 3.3-5V的容差。3.6带触摸屏的LCD模块显示MP3播放控制界面,通过触摸屏实现对播放和暂停,停止,音量递增, 音量递减等功能的控制。LCD可以采用试验箱上的320*240的TFT液晶显示器。3.7 USB接口模块USB接口模块是连接 U盘等存储设备为 MP3播放器提供歌曲来源。 本设计中,主机 是通过主控制器与USB设备进行数据传输的,USB主控制器采用USB2.0标准 和开放式主机控制器接口标准,可支持高速和低速的USB设备,具备内置的MCU 和内部缓存,
14、与CPU之间有一个静态存储器的接口。 CPU通过这个接口进行读 写来完成USB协议要求的控制和数据收发功能。USB主控制器提供一系列的寄 存器,系统通过对这些寄存器可以实现对 USB主控制器的控制。3.8串口电路此MP3提供一个串口,用来调试硬件和软件。Max232用来转换电平。UART 用于开发调试控制和返回调试信息。3.9系统复位电路系统时钟输入由24.576MHz的外部晶振提供,而微处理器内核的工作频率 为66MHz,S3C2440内部含有PLL电路实现倍频,因此,系统由内部 PLL电路 倍频至66MHz,供给CPU运行。系统复位信号由IMP811T芯片提供,并且设 计了 RESET按钮
15、,可以在系统运行过程中随时复位操作,便于系统调试。3.10电源模块系统电源由XC6206P332MR芯片提供,宜用可充电锂电池。第四章系统软件设计方案总体上来说,系统软件包括操作系统、驱动程序及播放器应用程序3部分。4.1软件总体设计在此次设计中,MP3播放器的软件体系结构采用分层模式,它包括硬件层、 驱动层、操作系统层及 MP3播放器应用层等,软件体系结构图如下所示 4.1Mp3playApplicati onLi nu xOsFile Syetem Protocal StackDiversAudio, USB, HDD, LCDHardwarePhysical Layer图4.1 MP3播
16、放器的软件体系结构图从软件角度看,嵌入式Linux操作系统分为引导加载程序、内核、文件系统 及用户应用程序4部分。其一用于完成初始化 RAM,初始化串口、设置Linux 启动参数、调用Linux内核映像等功能;其二为特定于具体硬件的定制内核以及 控制内核引导系统的参数;其三为含根目录文件的系统建立Flash存储器设备的文件系统;其四为特定于用户的应用程序,即为播放程序。软件的核心是Linux操作系统。首先需要设备驱动程序,包括USB、硬盘控 制、音频控制、LCD等等。然后是文件系统。该设计采用的是通用的 FAT32文 件系统,在对Windows平台有很好的兼容性。硬件层包括了 MP3播放器所需
17、的物理设备:USB接口、音频接口芯片AC97、 3.5英寸的TFT液晶屏等;设备驱动层包括上述各个设备的驱动程序的编写;操 作系统层我们移植了 Linux2 . 6的操作系统,由操作系统来统一管理各个硬件设 备;最上层是应用层,我们使用QT设计图形用户界面,通过移植开源的Madplay 解码器实现对MP3文件的解码,播放、音量增减的控制。此 MP3播放器软件系 统包括驱动程序、操作系统及 MP3播放器应用程序3部分。4.2操作系统的实现在嵌入式系统中,通常并没有像BIOS那样的固件程序,因此整个系统的加 载启动任务就完全由BootLoade来完成。BootLoader的任务是初始化芯片和主板,
18、 通过修改相应的配置文件和驱动程序就可以实现移植过程中需要创建的开发板 文件。4.2.1嵌入式开发环境的搭建在此次设计中,硬件平台是基于 XSBASE270试验箱的。嵌入式开发环境的搭建主要包括以下几个方面,如下:1、虚拟机安装安装虚拟机,采用 VMware。2、Linux系统安装在VMware上安装REDHAT企业版linux操作系统。安装完毕之后,安装 VMwareTools 工具。3、 minicom酉己置在启动红帽之前,要设置添加一个串口,设置成功之后,打开linux操作系统, 在终端执行minicom-s命令,会出现以下界面:configuration - Filenames and
19、 paths File transfer protocols Serial port setup tloden and dialing Screen and keyboard Saue setup as dFl Saue setup as.ExitExit from Hinicon选择serial port setup,按照以下设置:设置串口,设置波特率为115200,硬件流控制设为无。具体如下:ft- Serial Device/deu/ttpSOB-Lockfile Location/var/lockC-Callin ProgranD-Callout ProgranE-Bps/Par/Bi
20、ts11S2O0 8H1F-Hardware Flow ControlNoC-Software Flow ControlNoChange which setting?选择 Save setup as dfl选择Exit即可启动 minicom4、Tftp配置Tftp是类似于ftp的一个传输协议。它使用IP和UDP作为子协议。在目标板上,该协议被会在Bootloader下被用来下载kerne和文件系统的镜像,传输媒质是以太网,以较高的速度。安装tftp rpm包的步骤如下: 安装 tftp-server-0.17-9.i386软件包在终端中输入命令:rpm -ivh tftp-server-0.
21、17-9.i386.rpm 修改/etc/xi netd.d/tftp文件,内容如下:service tftpsocket_type = dgramprotocol= udpwait= yesuser= rootserver= /usr/sb in/in .tftpdserver_args= -s /tftpbootserver_args += -s /odm/tftpbootdisable=no5、在根目录下建立/tftpboot文件夹,将要下载的文件放在该目录中即可。6 bootp配置引导协议(BOOTP)是一种基于UDP/IP的协议。这种协议允许正在启动的 主机动态配置而无需用户监督。B
22、OOTP主要用于客户机从服务器获得自己的IP地址,服务器的IP地址以及启动映象文件名。在一个评估板系统中,这些协议通常是和tftp 一起使用用来将内核和文件系 统从PC上下载到目标板中。Bootp主要用来获得目标板和主机的ip信息,以便可 以使用Tftp协议来传输文件。 安装bootp-2.437.i386软件包在终端中输入命令:rpm -ivh bootp-243-7.i386.rpm 在/etc/xinetd.d/目录下建立bootp文件,文件内容如下: service bootpsdisable=nosocket_type=dgram protocol=udp wait=yes user
23、=root server=/usr/sb in/bootpd 在/etc/目录下建立bootptab文件,内容如下test:ht= 1:ha= 0x123456789a00:#ha=0x123456789999:ip=0:sm= 重启xinitd在终端中输入:/etc/rc.d/i nit.d/xi netd restart7、nfs配置8、交编译环境配置交叉编译环境的配置总共分为四个部分:配置交叉编译环境,然后将交叉编 译工具安装在/opt目录下,试交叉编译环境,测试的时候用file命令查看文件。4.2.2 Bootloader 烧写Boot
24、Loader就是在操作系统内核运行之前运行的一段小程序。通过这段小 程序,我们可以初始化硬件设备、建立内存空间的映射图,从而将系统的软硬件 环境带到一个合适的状态,以便为最终调用操作系统内核准备好正确的环境。通常,Boot Loader是严重地依赖于硬件而实现的,特别是在嵌入式世界。因此,在嵌入式世界里建立一个通用的Boot Loader几乎是不可能的。尽管如此,我们仍然可以对Boot Loader归纳出一些通用的概念来,以指导用户特定的Boot Loader设计与实现。下面介绍Boot Loader的烧写过程,以Linux-0内核为例,我们采用的 烧写工具是jflashmm。
25、具体步骤如下:将bootloadei的映象文件 boot拷贝 Jflash-XSBase270 (jflashmm所在目录), 并利用用Jflash-XSBase270目录中jflashmm程序,将bootloadei映象文件boot烧写 到开发板上。在Jflash_Xsbase27文件夹下打开一个终端,同时给板子上电,输 入命令:./Jflashmm boot,即可完成boot的烧写。指令为:rootlocalhost pxa270 #cd Jflash_Xsbase270 rootlocalhost Jflash-XSBase270 # ./jflashmm boot4.2.3内核、文件系
26、统的烧写Bootloader烧写成功后,接下来就进行内核和文件系统的烧写,具体步骤如下:(1)开发板上电,进入下载模式 打开minicom,已经配置好了,拔掉JTAG下载线。 按空格键,进入下载模式Wrto use 51 Bnurd 1 orwlcir for XSFasc270 ho*rd(p)T i cht (<') NW2700 杆 S Co.* . IJ tSujiprt * http: /*wu 51 B/'bftrd crmVrrinn : 01fl h,h :-O vOOOOClOOO -a y e =0 0?00<KM10Elh port 芒自n+
27、i heId*>00ciOO£lh chip is LAX91C11IAUtabool lt、 ptogrciis pre门、key to top*HuoL delny Z seconds按空格键,进入下载模式Welcome to use 51Board (Joot loader I or XSBaseSTO board Copyright (C) 20022006 SlEhard 5 Ltd.Support : http:/vttWn51 Board-comVersion i 01.00.03rtash : baseOxflOOOflOOO ,P st ze =0x02000
28、000Eth port can access . the base address is 0a0c000300 Eth chip is LS91Cll】auloboot £n progress. press any key to ilop.Boot de 1 ay 2 secondsautoboot aborted.0:I23h56s9ab:=:= Operation Menu =ComaniiJL 1 ne modeTt current c-opifi f urationfiootpDownload defaul t ter tic I (z I m&ge)Flash ke
29、rnelDownload default Filesystem (raotfs,img)Flash Fi lesjstemBoot systemReboot systemReset to factory default confijurationScl dcfaull Kernel filename and Filosyslcm ftlcnancSet bout delay timeHe 1p(to get a 1i st of commands)Pl ease enter your selection:按菜单0,51Board>setmyipaddr : 0des
30、tipaddr : 00myhaddr: 00:02:88:8E:CA:B1autoboot: load kern el; load ramdisk; bootkernelname : zlmagefsn ame : rootfs.imgdelay : 2按键盘上的0,进入命令行模式:0Comanndline mode 51board>set/查看系统状态(0 ComanndLi 11c mode1 Vieir current configuration1 2 Boo Ip| 3 Lkjfliiload default Kernel z I mage)4 Flash
31、 Kernel15 Ojnload deCault Ftlesyslem rooLfs*img)6 Flash Filesystem(71 Boat system18 Reboot system.9 Reset to factcry default conftguratian(aj Set de Cault Kernel filename and Pilesystem filenameb Set bool delay timePl esse enter 51Board> set myipaddr : dtslipaddr : myhaddr : auloboot : kernelnait
32、e : f sname:delay:51R.c Eiclpf to get a list cf cominands )192 J68.0.50192-168.0.10012;34!56:78;9A:00load kernel: load rarxJi sk: boot zmageroot Cs.img2将系统属性修改成以上状态按键盘上的1,进入命令行模式:1 View current configuration,回车。然后按2, 3, 4等烧写成功后,可看到显示屏亮起来,显示当前的操作系统。4.4驱动程序的实现在嵌入式Linux系统中操作设备的方法,是将设备看作一个文件来访问。用 户只需注意对
33、文件的操作。在嵌入式Linux系统中一个设备表示为主设备和从设 备。Linux系统的设备分为字符设备、块设备和网络设备3种。字符设备是指存取时没有缓存的设备,块设备的读写都有缓存来支持,并且块设备必须能够随机存取,字符设备则没有这个要求。典型的字符设备包括鼠标、 键盘、串行口等;块设备主要包括硬盘软盘设备、CDROM等,这些设备要想在操作系统下正常运行,必须配置相应的驱动程序。在本系统中,Flash及USB属于块设备,AUDIO及LCD属于字符设备。下面是读写Flash存储器的驱动程序 的主要代码:mai n()char buf4096,buf24096;int fd1,fd2;if( (fd
34、仁open(“/dev/dsk5 ”,O_RDONLY)= = 1)|(fd仁open( “/dev/dsk5 ” ,O_RDONLY)= = 1)printf( “ failure on opu” );exit();lseek(fdl, 8192L, O);Iseek(fd2, 8192L, O);if(read(fd1,buf, sizeof(buf1)= = -1)|(read(fdl, buf1, sizeof(buf1)= = -1) “ ”prin tf(“ failure on read ):exit();for(i=0;I < sizeof(buf1);i+)if(buf
35、1i != buf2i)Printf( “ diferent at offset%d i);exit(); “ ,printf( “reads mntC;MP3解码部分芯片的驱动。音频驱动程序实现的主要功能是:(1) 系统启动时可以完成芯片的初始化;(2) 具体操作时可以提供给操作系统合适的软件接口。音频驱动初始化程 序如下:void STA013ni t(void)if(STA013_SendCommand(RESET_REQ0,0x00) /复位 STA013 STA013_Pri ntError();if(STA013_Se ndComma nd(ACT_CON_REG0,0x00) /
36、 未激活状态 STA013_Pri ntError();if(STA013_Se ndComma nd(PWR_CON_REG0,0x00)/ 上电STA013_Pri ntError();if(STA013_Se ndComma nd(FS_CON_REG3,I STA013L_FsValueSysl nfo.Sampli ngl ndex) /选择采样频率 STA013_Pri ntError();if(STA013_Se ndComma nd(IF_CON_REG0,0x02+(0<<6) 选择 16位IIS数据格式STA013_Pri ntError();if(STA013
37、_SendCommand(ANG_CTL_REG0,0)/ 0x13, 0x12 选择DAC和Line In输入模式STA013_Pri ntError();if(STA013_SendCommand(DGT_CTL_REG0,0x00)/ DAC 静音STA013_Pri ntError();if(STA013_Se ndComma nd(LHP_VOL_REG,0,OxOO)左声道音量STA013_Pri ntError();if(STA013_Se ndComma nd(RHP_VOL_REG,0,0x00)右声道音量STA013_Pri ntError();if(STA013_Se n
38、dComma nd(ACT_CON_REG0,0x00)数据传送激活STA013_Pri ntError();4.3音频驱动电路音频设备驱动程序主要通过对硬件的控制实现音频流的传输,同时向上层提供标准音频接口。音频接口驱动向上提供 2个标准接口:数字音频处理(DSP), 负责音频数据的传输即播放数字化声音文件和录音操作等;混音器(MIXER), 负责对输出音频进行混音处理,如音量调节等。这2个标准接口分别对应设备文件dev/sound/ds和dev/sound/mixer。整个音频驱动的实现分为初始化、打开设备、 DSP驱动、MIXER驱动和释放设备等部分:设备初始化主要完成对UCB1400音
39、量、采样频率、L3接口等的初始化,并 且注册设备、打开设备。为设备分配 DMA通道,根据采样参数计算出缓存内段 的大小。当缓存区和DMA设置好后,读写操作主要对缓存操作。DSP驱动的实现:DSP驱动实现了音频数据的传输即播放和录音的数据传 输。同时提供ioctl对UCB1400中的DAC何ADC采样频进行控制。MIXER驱动的实现:MIXER驱动只控制混音效果,并不执行读写操作, 通过ioctl函数完成混音效果、音量的增减等功能。4.4 Mp3播放器软件的实现本系统使用QT/Embeded制作图形用户界面,禾用开源的 Madplay解码器对 Mp3文件进行软件解码,功能包括打开文件、播放和暂停、快进快退、上下曲、 音量加减、显示时间进度、显示歌曲名、总的播放时间、各种状态信息等。下面 就一些重要功能的实现做简要的介绍。4.4.1外部事件的响应当用户通过触摸屏单击某个按钮时,QT的窗口在事件发生后将激发信号如 clicked。,可以通过调用connect()函数把这个信号和一个插槽(函数)连接起来, 完成对事件的响应,对于其他外部的事件(如按键),可以通过read函数来读取 设备的值,并根据返回值转向相应的程序。4.4.2 MP3文件打开功能QT中
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 现代化生产线员工教育培养与实践管理全面解读
- 环保材料在绿色酒店建筑设计中的创新应用
- 2025年度二零二五版康师傅冰箱借用与广告投放合同
- 2025年度智能穿戴设备技术研发与生产设备采购合同范本
- 2025年度净水器配件代理销售合同
- 电商营销策略与品牌建设的关系研究
- 【培优卷】同步分层练习:五年级下册语文第19课《牧场之国》(含答案)
- 现代企业管理模式的变革与挑战
- 《两汉的科技和文化》参考听课评课记录3(新部编人教版七年级上册历史)
- 沪科版数学九年级上册21.2《二次函数的图象和性质》听评课记录6
- 氧气、乙炔工安全操作规程(3篇)
- 建筑废弃混凝土处置和再生建材利用措施计划
- 集装箱知识培训课件
- 某县城区地下综合管廊建设工程项目可行性实施报告
- 《架空输电线路导线舞动风偏故障告警系统技术导则》
- 2024年计算机二级WPS考试题库
- JJF(京) 92-2022 激光标线仪校准规范
- 普惠金融政策解读
- 2024年疾控中心支部工作计划范本
- 广东省广州黄埔区2023-2024学年八年级上学期期末数学试卷(含答案)
- 法理学课件马工程
评论
0/150
提交评论