时间:2022-08-22 02:52:55
引言:寻求写作上的突破?我们特意为您精选了4篇多媒体播放器范文,希望这些范文能够成为您写作时的参考,帮助您的文章更加丰富和深入。
1.引言
多媒体技术是一种把文本(Text)、图形(Graphics)、图像(Images)、动画(Animation)和声音(Sound)等形式的信息结合在一起,并通过计算机进行综合处理和控制,能支持完成一系列交互式操作的信息技术。多媒体技术的发展改变了计算机的使用领域,使计算机由办公室、实验室中的专用品变成了信息社会的普通工具,广泛应用于工业生产管理、学校教育、公共信息咨询、商业广告、军事指挥与训练,甚至家庭生活与娱乐等领域。
多媒体播放器的设计是一门集计算机技术和数字多媒体技术于一体的综合设计。随着中国计算机技术、宽带网络技术的发展,越来越多的人开始重视多媒体播放器的发展与应用。
2.系统的规划与研究
播放器的开发阶段有设计、编码和测试3个基本活动组成,其中,“设计阶段”是获取高质量、易维护系统的一个最重要环节。采用任一种软件设计方法都将产生系统的总体结构设计、系统的数据设计和系统的过程设计,如图1所示,描述了播放器开发过程的信息流程。
3.播放器的设计与实现
利用Visual Basic 中的Windows Media Player控件开发Windows下的多媒体应用程序是一种方便简单的方法。
播放器的主界面,遵照界面简洁、操作简单、人性化的原则进行设计。主要包括播放控制主界面的设计、视频显示区域的设计即可视化界面的设计、播放列表界面的设计、相关信息显示区域的设计等。
媒体播放器主要的功能是播放音频文件和视频文件两种,音频播放主要实现对目前常用的音频文件进行播放,如:mp3、wav、mid、rmi、midi、au等等。可以完成播放列表导入和保存、文件打开和播放信息显示等功能。
视频播放主要实现对常用的视频文件进行播放,如:avi、mpeg、rm、rmvb等等。可以实现可视化窗口的全屏幕播放和原始大小播放、可视效果切换等功能。
另外,播放器在实现视频全屏幕播放后,没有用原有的控制对象标志,而是将它在属性栏中隐藏了。其按键功能由播放控制面板命令按钮来实现,控制按钮上显示功能汉字信息,在命令按钮事件中,实质上是调用Windows Media Player控件中属性的各项功能。图2为播放器的功能模块图。
4.总结
该设计关键采用了VB 6.0环境中的Windows Media Player控件,可以播放Windows Media Player所支持的文件格式,包括音频文件、视频文件、动画等,如不能播放视频文件,需要安装相应的解码器,如Real Codec Pack等。与其它播放播放器相比,该播放器具有支持格式多样、界面美观、功能齐全、占用空间小的特点。与现有多媒体资源应用状况紧密结合,既具有很强的直观感,又不失一般性。
参考文献
[1]彭波,孙一林.多媒体技术应用[M].北京:机械工业出版社,2006:1-21.
[2]赵子江.多媒体技术应用教程[M].北京:机械工业出版社,1957:1-18.206-207.
[3]陈明.多媒体技术与应用[M].北京:清华大学出版社,2004:5-10.
[4]洪锦魁.精通Visual Basic 6.0中文版[M].北京、广州、上海:世界图书出版社,2000.
[5]刘炳文.Visual Basic图形与多媒体程序设计[M].北京:清华大学出版社,2002:5-28.
[6]魏江江,林少景.Visual Basic API编程百例通[M].北京:科学出版社,2001.
[7]谭浩强,薛淑斌,袁玫编著.Visual BASIC程序设计[M].北京:清华大学出版社,2000:256-266.
[8]高智勇.Visual BASIC 6.0实例教程[M].北京:航空工业出版社,2000.
[9]Michael Halvorson.Visual Basic6学习指南[M].北京:机械工业出版社,1999.
从背部看,这款产品的接口还是很丰富的,2个1394以及1个USB 2.0接口用来传输数据,一个HDMI接口用来传输标清或是高清视频,一个SPDIF接口用来传输音频。同时这款产品的体积非常小,只有2.5英寸的移动硬盘盒那么大,这也是其最大的优点所在。那么这个TVISTO的实际播放能力如何呢?
与购买移动硬盘盒有些类似,用户购买这款TVISTO多媒体播放机的时候,只是购买一个壳子,还需要自行购买一个IDE接口的硬盘;至于硬盘的容量,要看自己的需求和经济状况了,当然,今天的硬盘价格都很便宜。在安装硬盘之前,首先要将这个产品拆开,我们借此机会,也得以看到内部的结构。其内部结构非常简单:除了供电部分和用于界面操作的部分,这款产品的核心是一个UNIBRAIN的MediaProcessor。不过这个芯片我们在该公司的网站上并未查找到相关的资料,根据笔者的经验,这个品牌的1394芯片倒是经常应用在一些主板上,也难怪这款产品拥有2个1394接口了。
为了试验播放效果,笔者特意用这款产品传输了2部不同字幕格式的MPEG-4电影(DVDRIP)。其中《神奇四侠》这部电影使用的是SRT字幕,而《所罗门王的宝藏》这部电影则使用的是idx字幕,并且还拷贝了几张图片,大小不一。这里不得不说的是,TVISTO的USB 2.0接口芯片非常有效率,传输2GB多的电影,只要1分钟左右的时间,速度非常快。
市面上出现的第一台多媒体播放器是一款功能非常简单的数字音乐播放器,也就是所谓的MP3播放器,它是以当时数字信号处理器(DSP)方案为基础,由MP Man公司和Diamond公司于1998年推出。随后市场针对影音处理需求优化设计也发展出第三和第四代芯片与方案。
图1记录了采用NAND Flash内存的PMP产品进化历程。四个世代的技术发展摘要如下:
第一代:以DSP为中心架构,小内存及缓慢的传输接口
第一代的MP3只具备简单的译码功能,采用非挥发性内存,仅提供64到128 MB的内存,大约可储存15~40首歌。当时,MP3播放器被视为迷你光盘(MD)、可携式CD播放器和卡式播放器的替代方案。优点在于比MD和CD播放器耐用,音质比卡带更好。播放器的硬件架构最主要的部份是一颗DSP,软件的主要部分是MP3译码算法。第一代MP3播放器的缺点在于DSP周边使用了许多离散组件,例如音频数字模拟转换器(audio DAC)、耳机放大器、RS232接口,以及电源管理用的离散DCDC转换器和稳压器;此外,缓慢的RS232文件传输接口让用户传输每首歌都需要花上约1~2分钟,这或许也是MP3播放器于最初两年间一直被局限于小众市场的主要原因之一。
第二代:容量与音乐传输接口获得改善
随着USB 1.1广泛普及,将传输率提升到12 Mbit/每秒。非挥发性内存容量扩充至256MB~512MB。此时Micorsoft也发表内建于Windows的WMA数字音乐格式。虽然大多数系统仍然以DSP架构和相关芯片组为基础,但同时也出现第一个采纳32位RISC控制器架构的系统实作。
第三代:大容量内存、多重音乐格式与多功能且丰富使用接口
传输接口进一步改良,透过USB 2.O支持高达480Mbit/每秒的理论下载速率。NAND Flash技术透过以多层式芯片(multi level cells;MLC)取代单层芯片(single level cell SLC)技术来大幅提升效能,基本上将每一内存cell的容量加倍到可以储存二个位,因此4或8 GB容量的非挥发性内存遂成为可行方案。同时,软件架构也大幅改变,32位微控制器架构的普及,大幅简化软件开发。在许多情形下,MP3、AAC和WMA都可以并行支持。至于PC联机方面,Microsoft发表媒体传输协议(MTP),取代大量存取装置规格(MSC)而成为新的USB协议。这项协议支持在metadata database(MDDB)数据库系统处理歌曲名称、歌手、封面设计等信息,能够在Microsoft Windows之下的MicrosoftMedia Player执行这些metadata信息的同步化。另外,Microsoft也发表数字财产权管理(Digital-Rights-Management;DRM),同样可以透过MTP协议在PC和装置的哈希(hash)数据之间进行密钥同步化。许多产品开始搭配彩色显示器,并设计了复杂的图形使用接口。软件通常建构在嵌入式实时操作系统(embeddedRTOS)上,支持先占式多任务和数个平行的线程。
第四代:结合影音与无线传输功能,无失真的高质量音讯时代来临
市场有许多不同的音讯格式,除了MP3、AAC、WMA之外,OGG-Vorbis因为具备杰出的音质,而且采免授权模式,所以也逐渐普及。AAC改良成AAC+,增加AAC+V1 sub-band replica(SBR)针对较低比特率的频率响应加以改善,以及藉由AAC+V2 parametric stereo(Ps)进一步降低固定音质的比特率。其次,WMA Professional改善基本的WMA算法,提高音质并且支持使用高达24位和96 KHz取样率,有效改善音质,远高于传统CD音质表现。除了一些会失真的算法之外,市场也出现零有损压缩格式,例如Free Lossless Audio Codec(FLAC)或Windows MediaAudio 9 Lossless Codec。
另外,视频译码也逐渐普及。MPEG-4 sP/ASP、H.263 simple profile、WMV simple/main profile成为典型的视频译码需求。支持的视频分辨率从QVGA(320×240)或wide QVGA(420x272),到高达VGA或TV/D1(720×480 for NTSC或720×576 forPAL),并增加额外接口支持电视信号输出,包括合成、S-Video或RGB格式。有些产品甚至也整合了Wi-Fi无线接口,支持音乐直接下载,或者搭载蓝牙以连接无线耳机。
音乐播放产品的演化历程愈来愈讲求功能,由此可以明显看出系统复杂性大半与软件开发息息相关。许多情形下,硬件开发充其量只是整体开发挑战的一小部分,而成功与否则奠基于是否拥有一套支持SoC的成熟软件开发工具。一般而言,软件开发工具包含支持所有硬件区块的驱动程序、支持音频译码/编码的中间件、音频强化、视频译码与后处理、RTOS和文件系统处理、metadata数据库建置、以及提供GUI支持的图形函式库。
图2显示奥地利微电子(austriamicrosystems)移动娱乐产品AS3536,它将所有上述硬件功能内建到一颗10mm×10mm的244 ball封装单芯片。
图3显示将上述所有软件功能包含在一个四阶层模型的软件开发工具:第0层装置ROM韧体,第1层设备驱动器,第2层服务,第3层特殊应用软件模块,以及第4层参考应用,提供一个快速应用开发的起点。
音频质量与电源管理为PMP soc建立差异化的关键
尽管SoC在硬件和软件领域呈现诸多发展,不过系统质量仍主要取决于模拟参数影响。音乐播放仍然 是可携式媒体播放器最主要的功能,而可达成的音频质量就成为一项主要的差异化特性。具备较高的动态范围和如水晶般清澈的播放质量,能够让用户明显听得出来其差异性。
除了音质之外,PMP应用的第二项关键为电流消耗。播放器的构型设计主要取决于电池尺寸的大小。现代工业设计都要求PMP必须轻薄、小尺寸,因此尺寸小且播放时间长的电池就成了必要的需求。对于只单纯提供音乐播放功能的产品而言,电池容量通常在80mAh范围。而如果搭载wide QVGA分辨率LCD和视频播放功能的PMP,电池容量则必需达到300mAh,VGA分辨率需1000mAh。按照这些假设,以下的分析将呈现模拟系统组件对于PMP整体SoC设计上,所能够提供的可能效益。图4显示整合上述所有功能的奥地利微电子产品AS3543。图5显示本方案的关键模拟效能参数。
以下将针对PMP SoC设计如何满足音频质量、电源管理及其他功能三项关键需求深入探讨:
音频处理需求
第一代MP3播放器的音质取决于所采用的数字压缩算法。以当时内建少量的音乐储存内存而言,大多数播放器都是采用128 Kbit/s或更低的比特率,因此搭配的音频数字模拟转换器(DAC)和耳机放大器就不需高于90 dB。
然而,随着高质量的音讯压缩技术例如AAC和WMA的出现结合高达320Kbit/s的压缩比特率,将音质提升到CD质量的水平,消费者对于硬件要求也明显的提高。
现今最好的有损压缩技术就属Windows Media 10Professional和high definition AAC(HD-AAC)。这些标准的取样率达96或192 KHz,位宽度增加至24位,而比特率则高达968 Kbit/s,可支持的立体音响多声道编码包括5.1或7.1声道。
另一方面,未来具备大容量音乐储存的MLCNAND Flash装置,将可以支持无损压缩技术,例如内建Windows Media Audio Lossless或Free LosslessAudio Codec(FLAC)的高阶编码器,其位宽度和取样率可提升至24位和192 KHz。
随着数字压缩音质的提升伴随软硬件升级,为便携设备开启了全新的局面,现在我们只要透过基座将便携设备连接家用立体音响设备,就可享受超越传统CD的音质。
在信噪比(sNR)部分,下一代的音质需求已提升至100 dB。以可达成的SNR等于6.02*n+1.761公式计算(其中n等于audioPCM取样位宽度),当取样位宽度等于16位时,SNR理论上可达到98dB,当宽度提升到18位则可达110.1dB。为了要满足下一代的音质需求,在音讯DAC转换器架构上取样位宽度至少需要18位。由于可达成的SNR永远是和电流消耗直接成正比,因此提供一种可以配合功耗调整音质的选项将特别有帮助,例如针对PMP等注重功耗的移动应用,音质与功耗可以向下调至约94dB,而针对音响基座等在定点使用的设备SNR与位宽度则可以设定达到100dB以上的最高质量。
电源管理需求
现今几乎所有PMP都是采用锂离子电池(Li-lon)供电,电压3.7V~3.8V。为了维持最低的功耗,这些产品就必须采用效率高达85%~95%的DCDC转换器(依照负载条件而定),产生的电压则供电给数字核心系统、内存系统和模拟音频电路。典型的设计会针对数字核心电压及内存与混合信号部分采用个别的DCDC转换器支持,由于所有音频电路都仅具备有限的电源抑制比(power supply rejection ratios),因此还需要搭配超低噪声的特殊低压差稳压器(lowdropout regulators)。典型的核心电压为1.0V、1.2V或1.5V。在CPU系统的电压/频率调整方面,这些电压可以采用小步阶幅度(25mV或12.5mV)进行可程序(programmable)调整。
除此之外,针对系统采用不同的软件基础,电压调整的需求也不尽相同。举例来说,采用高度优化小型嵌入式RTOS的系统能够根据CPU当下所需的效能调整主频率,让音频译码工作中不受任何干扰。对于这类较小的主频率而言,电压可以向下调降至0.8V。为此,DCDC转换器的输出必须提供小步阶幅度和高精度:典型步阶±20mV,精度±20mV。
其他操作系统例如Linux或Windows CE则有不同的概念:这些系统基本上采较高频率频率作业,并且CPU会在操作系统闲置回路期间,藉由取消频率以进入省电状态,所以这种系统对于DCDC转换器的负载调节(load regulation)要求较高。当系统频率在400MHz和0MHz之间切换,将产生较大步阶(高达200mA)的输出负载,因此DCDC转换器的负载调节就必须将输出电压维持在作业条件的容许范围内。
电源管理的另一个重点是电池充电器。一般情况是使用降压型充电器(step-down chargers)搭配浮动充电、固定电流和固定电压充电算法。充电曲线的主要部分会是采用固定电流模式,当然这必须视情况而定。当装置采用一个USB接口充电时,必须符合二项限制条件:一般USB装置使用100mA,高功率装置则为500mA。这些限制必须支持可程序设定,以符合USB规范。再者,同样必须留意的是,这些限制是指连接USB期间的整体系统电流消耗。所以,充电电流是以USB电流限制减去其余系统的电流消耗,也因此需要诉诸一种由软件控制且范围宽广的电流步阶技术。
拥有大型显示器的视频播放器无法透过USB提供足够的充电电流。对这类产品而言,通常需搭载容量高达2000mAh的电池,为了提供最佳充电时间,这些装置需要使用1C等于2A的电流充电。为了避免线性充电器在这些电流下产生大幅的功率流失,需要采用一个整合DCDC降压转换器的充电器。
其他模拟PMP功能需求
配备LCD显示器的PMP装置会将大部分模拟功能整合在TFT之内,并将其余功能例如白色LED背光的驱动器整合在SoC中。这些属于DCDC升压转换器的驱动器,能够产生高达25伏特电压,驱动多达8个白色LED。大型显示器通常采用二串LED,在这种情形下,必须采用二个可程序且相匹配的电流流入端(currentsink),以维持显示区域的固定亮度。
未来PMP的另一重要功能为触控接口。许多装置为了支持视频播放而设计的大型显示器,往往几乎占满PMP的正面空间,而无法容纳键盘接口。因此,触控屏幕成为工业设计的最佳方案,同时也符合图像用户接口便利性。
现在的方案通常是以模拟电阻式触控面板为基础,这种技术能够促成成本优化的方案设计。未来可以预见的是,电容数字转换器(capacitive-to-digitalconverters)的精确与响应性,将促成新类型的用户接口。它可以侦测复杂的输入动作,并根据那些input执行和控制用户指令,例如上下滚动条或缩放等。
再者,为了满足数字财产权管理(DRM).PMP内必须建置一个常设的实时时钟(real time clock;RTC)。但是RTC在关机时还是必须维持运转,从电池汲取固定电流,因而缩短了产品的待机时间。为了将RTC控制在超低功耗,必需采用一种特殊设计的石英晶体振荡器,除了维持频率精确性并可将功耗控制在1μA~2μA范围。举例来说,若在关机期间将RTC运转维持在5μA系统功耗,就可让一颗80mAh电池维持2年的寿命。
中图分类号:TP37 文献标识码:A 文章编号:1009-3044(2016)31-0199-02
Abstract: In this paper, a kind of multimedia player is designed and implemented based on the Android4.0 developing platform and Java programing language. It can realize such functions as multimedia document retrieval, audio player and video playback, etc. The main modules, such as user interface, audio player and video player, are detailed described. Test results showed the player has a good performance.
Key words: Android; multi-media; player; Java
1 背景
S着科学技术的进步,通信技术的迅速发展,手机的功能越来越多,对我们日常生活的影响也是越来越大。现如今的手机功能越来越多,随着智能手机的快速发展,各种风格的智能手机多媒体播放器也紧跟着发展起来。
本文基于Android 4.0手机操作平台,开发一款实用的且个性的手机多媒体播放软件。详细介绍了主要的功能模块,如用户界面、音频播放和视频播放的实现过程。
2 软件需求分析
软件的需求分析是完成任务的重要一步。以下分别描述用户需求设计和更能设计。
2.1 用户需求
1)拥有漂亮的界面能且够带来音乐视听享受。
2)功能较多,界面美观,操作方便。
3)能够满足广大用户的播放器的个性化设置需求。
4)能够有庞大的音乐库,音乐视频管理功能也要相当出色。
2.2 功能需求
在当前的软件市场需求中,播放器的功能是用户选择播放器的一个重要参考。本设计的软件功能需求分析如表1所示。
3 系统软件设计
软件功能结构图如图1所示:
3.1 播放器界面设计
选择界面及播放器主界面,是程序主界面。该界面设置了2个button按钮,每一个按钮都用setOnClickListener()来设置监听,并由doClick()实现其相应页面的跳转。当用户点击本地音乐这个按钮时,主界面就会跳转至本地音乐文件的文件夹上,这时用户可以自己选择需要播放的音乐文件。
3.2 音乐播放设计
音频播放使用的是MedidaPlayer方式。首先初始化File对象,把需要播放的音乐文件的路径作为参数传入 setPath() ,然后用 setPath()获取待播文件的路径并传入其存储路径,再通过该路径设置数据源,定义search对象来寻找歌曲,调用refreshView()方法来读取sd卡歌词,在MusicActivity()中载入动作并接收Receiver发来的消息,最后通过MediaPlayer.start()实现音频的播放[16]。也可以首先指定文件或文件名路径,然后再调用播放的方法来实现音频文件的播放。音乐的播放、暂停、停止分别使用了play()、pauee()、stop()方法。同时,MediaPlayer也设置了很多监听器,如OnClickListener、createTableContent、OnCreatContextMenuListener、OnItemListenerOnClickListener等。音频输出流程图如图2所示。
3.3 视频播放设计
在播放视频文件之前,要先确认是否已进入Prepared状态和读取视频文件,以获得视频文件的长度。为了确保这两件事情同步完成,首先要实现onPrepared()和onVideoSizeChanged()方法的监听功能,管理两个时间的同步完成时刻变量mIsVideoReadyToBePlayed()和mIsVideoSizeKown,当onPrepard()方法被执行时,将会设置变量mIsVideoReadyToBePlayed()为true,由Initialized状态进入Prep
ared状态;当onVideoSizeChanged()方法执行时,会设置变量mIsVideoSizeKown为true,来取得要播放的视频的长度。当变量mIsVideoReadyToBePlayed和mIsVi
deoSizeKown都为true时,调用startVideoPlayback()方法,设置好播放视频的长度,再开始播放。视频输出流程图如图3所示。
4 软件测试
将软件安装至安卓手机上进行测试。其测试结果如表2所示。
测试结果表明,播放器各项功能得到很好的实现和体验。
5 结束语
基于Android系统设计了一款多媒体播放器,该播放器实现了对安卓设备中音视频文件的播放,并且可以自定义管理本地文件等。该软件系统稳定,功能齐全,成本低,符合设计要求,界面简洁,美观大方,便于与用户之间的交流。
⒖嘉南祝
[1] 李俊韬, 陈星浩, 刘丙午. 物联网技术教学实验系统的研究[J]. 铁路计算机应用, 2012, 21(6): 70-72.
[2] 耿东久, 索岳, 陈渝, 等. 基于Android手机的远程访问和控制系统[J]. 计算机应用, 2011, 31(2): 559-561.
[3] 张庆英, 何宁英. 基于RFID的冷库管理信息系统[J]. 武汉理工大学学报:信息与管理工程版, 2011(4).
[4] Andriod底层及应用开发实验指导书[Z]. 北京西普阳光教育科技股份有限公司, 2015.
[5] 高昂. 支持动态语言的Android平台[J]. 程序员, 2009(8): 22.
[6] 靳岩. Google Android开发入门与实战[M]. 北京: 人民邮电出版社, 2009.
[7] E2ECloud工作室. 深入浅出Google Android[M]. 北京: 人民邮电出版社, 2009.
[8] 郑健, 贺超. Android和Chrome的发展与未来[J]. 移动通信, 2010, 34(11): 80-82.
[9] 赵亮, 张维. 基于Android技术的界面设计与研究[J]. 电脑知识与技术, 2009, 5(29): 8183-8185.
[10] 公磊, ZHOU Cong. 基于Android的移动终端应用程序开发与研究[J]. 计算机与现代化, 2008, 2008(8): 85-89.