生成媒体文件清单的方法

文档序号:6335974阅读:159来源:国知局
专利名称:生成媒体文件清单的方法
技术领域
本发明涉及文件处理技术领域,特别是涉及一种在Android系统中生成媒体文件清单的方法。
背景技术
Android系统是一种广泛使用在便携型装置中的轻型操作系统,例如在移动电话、 掌上播放器、GPS导航仪等数字设备中,它提供了强大的媒体文件存取功能,可以对音频、视频、图片等多种媒体文件进行检索和浏览,同时还可以对视频和图片媒体文件生成略缩图, 用以供用户预览。但是,强大的功能也带来了性能的下降,比如对媒体文件类型和有效性的检查,对视频和图片媒体文件生成略缩图,将消耗大量的系统资源,并且需要更多的响应时间,这对于经常需要对媒体文件进行扫描的用户来说,是难以忍受的。在Android系统中有许多需要读取媒体文件的应用程序,比如图片浏览器、幻灯片放映程序、屏幕保护程序等,若使用Android系统提供的媒体文件存取功能去获取媒体文件清单,特别是当媒体文件数量较多的时候,将占用大量的资源和时间,使用户进行不必要的等待,产生不好的用户体验。

发明内容
鉴于以上内容,有必要提供一种在Android系统中高效的、轻型的、快速的生成媒体文件清单的方法,供用户或应用程序使用媒体文件清单中的媒体文件。一种在Android系统中生成媒体文件清单的方法,用于向媒体文件请求者提供媒体文件清单,所述方法包括以下步骤指定媒体文件所在路径;获取该路径下的所有文件列表,记为第一文件列表;对第一文件列表中的文件做媒体文件扩展名过滤,将匹配媒体文件扩展名的文件添加到第二文件列表;对第二文件列表中的文件做媒体文件特征码过滤,将匹配媒体文件特征码的文件添加到媒体文件清单;及将媒体文件清单提供给媒体文件请求者。一种在Android系统中生成媒体文件清单的方法,用于向媒体文件请求者提供媒体文件清单,所述方法包括以下步骤侦测到新的存储设备被添加;获取该存储设备中的所有文件列表,记为第一文件列表;对第一文件列表中的文件做媒体文件扩展名过滤,将匹配媒体文件扩展名的文件添加到第二文件列表;对第二文件列表中的文件做媒体文件特征码过滤,将匹配媒体文件特征码的文件添加到媒体文件清单;及
将媒体文件清单提供给媒体文件请求者。与现有技术相比,上述在Android系统中生成媒体文件清单的方法,由于采取了媒体文件扩展名过滤和媒体文件特征码过滤两级媒体文件过滤的步骤,兼顾了快速扫描媒体文件和有效检测媒体文件的特点,可以快速而准确的生成媒体文件清单。


图1为本发明一种实施方式中的在Android系统中生成媒体文件清单的方法的应用架构图。图2为本发明一种实施方式中的在Android系统中生成媒体文件清单的方法的流程图。图3为本发明另一种实施方式的在Android系统中生成媒体文件清单的方法的流程图。图4为图3所示方法中存储设备被移除后更新媒体文件清单的方法的流程图。主要元件符号说明
媒体文件请求者 Γ 02
媒体文件清单服务 104 存储设备10具体实施例方式请参阅图1,示意性的示出了根据本发明一种实施方式的在Android系统中生成媒体文件清单的方法的应用架构图。在一种实施方式中,生成媒体文件清单的方法用媒体文件清单服务104来实现,从存储设备106获取有效的媒体文件清单,并提供给媒体文件请求者102。所述媒体文件包括音频媒体文件、视频媒体文件和图片文件,比如MP3文件、AVI 文件、JPG文件等。运行的时候,所述媒体文件请求者102向所述媒体文件清单服务104发出呼叫请求,并提供请求的媒体文件的类型和路径,所述媒体文件清单服务104在接收到所述媒体文件请求者102的呼叫请求后,从所述存储设备106的相应路径下获取匹配请求的媒体文件类型的媒体文件信息,生成媒体文件清单,再将媒体文件清单以响应的方式发送给所述媒体文件请求者102。所述媒体文件请求者102,是媒体文件清单的请求者和使用者,可以是MP3播放器、视频播放器、图片浏览器等多种应用程序。所述媒体文件请求者102从所述媒体文件清单服务104取得媒体文件清单后,可以对媒体文件清单中的媒体文件进行浏览、播放、编辑等操作。所述存储设备106,是媒体文件的载体和提供者,用于存放媒体文件,可以是内置的存储装置,也可以是外置的存储装置,比如闪存卡。
4
下面结合图2和图3来说明所述媒体文件清单服务104在接收到来自所述媒体文件请求者102的请求后,生成媒体文件清单的方法。请参阅图2,示意性的示出了根据本发明一种实施方式的在Android系统中生成媒体文件清单的方法的流程图,包括以下步骤在步骤S202中,指定媒体文件所在路径。所述媒体文件所在路径为请求者想取得媒体文件的存储位置,包括驱动器盘符和文件夹,形如“D:/MusiC/”。所述媒体文件所在路径可以为内置存储装置中的路径,也可以是外置存储装置中的路径。在步骤S204中,获取该路径下的所有文件列表,记为第一文件列表。所述第一文件列表中包含各类型的文件,有媒体文件和非媒体文件。在步骤S206中,对第一文件列表中的文件做媒体文件扩展名过滤,将匹配媒体文件扩展名的文件添加到第二文件列表。不同的媒体文件有不同的扩展名,比如音频媒体文件的扩展名有.mp3、. wav, . wma等,视频媒体文件的扩展名有.avi、. wmv, . flv等,图片文件的扩展名有.jpg、. gif、. tif等,通过文件后缀名可以过滤出请求者想要读取的媒体文件。媒体文件扩展名过滤设置存放于一可扩展标记语言(XML)文件中,在对第一文件列表中的文件做媒体文件扩展名过滤之前,从该可扩展标记语言文件中读取媒体文件扩展名过滤设置。在步骤S208中,对第二文件列表中的文件做媒体文件特征码过滤,将匹配媒体文件特征码的文件添加到媒体文件清单。通过媒体文件的扩展名来筛选媒体文件,并不能保证筛选出的媒体文件一定是有效的媒体文件,因为文件的扩展名可以任意的被更改,例如一个.txt的文本文件扩展名被改为.jpg,如果用图片浏览器去打开这个.jpg文件,则会发现它不是一个有效的JPG格式的图片。所以有必要对经过媒体文件扩展名筛选的媒体文件做进一步的有效性检测,本实施方式采用的方法是通过检测媒体文件的特征码来确定媒体文件的有效性,相比于对媒体文件的数据结构做全部检测,具有高效快速而正确率又损失极小的优点。所述媒体文件特征码是指媒体文件的以二进制存储的数据内容中存在的区别于其他媒体文件的二进制代码。不同的媒体文件具有不同的媒体文件特征码。比如JPG图片文件的特征码为最开始的2个字节为OxFF和0xD8,PNG图片文件的特征码为最开始的3个字节为0x89、0x50和0x4E,BMP图片的特征码为最开始的2个字节为0x42和0x4D。媒体文件特征码过滤设置存放于一可扩展标记语言文件中,在对第二文件列表中的文件做媒体文件特征码过滤之前,从该可扩展标记语言文件中读取媒体文件特征码过滤设置。在步骤S210中,将媒体文件清单提供给媒体文件请求者。媒体文件请求者在得到媒体文件清单后,便可以开始对媒体文件清单中的媒体文件进行浏览、播放、编辑等操作。请参阅图3,示意性的示出了根据本发明另一种实施方式的在Android系统中生成媒体文件清单的方法的流程图,包括以下步骤在步骤S302中,侦测到新的存储设备被添加。当有新的存储设备添加到系统中时,会被分配新的盘符,如“E:/”盘。在步骤S304中,获取该存储设备中的所有文件列表,记为第一文件列表。所述第一文件列表中包含各类型的文件,有媒体文件和非媒体文件。在步骤S306中,对第一文件列表中的文件做媒体文件扩展名过滤,将匹配媒体文件扩展名的文件添加到第二文件列表。不同的媒体文件有不同的扩展名,比如音频媒体文件的扩展名有.mp3、. wav, . wma等,视频媒体文件的扩展名有.avi、. wmv, . flv等,图片文件的扩展名有.jpg、. gif、. tif等,通过文件后缀名可以过滤出请求者想要读取的媒体文件。媒体文件扩展名过滤设置存放于一可扩展标记语言(XML)文件中,在对第一文件列表中的文件做媒体文件扩展名过滤之前,从该可扩展标记语言文件中读取媒体文件扩展名过滤设置。在步骤S308中,对第二文件列表中的文件做媒体文件特征码过滤,将匹配媒体文件特征码的文件添加到媒体文件清单。通过媒体文件的扩展名来筛选媒体文件,并不能保证筛选出的媒体文件一定是有效的媒体文件,因为文件的扩展名可以任意的被更改,例如一个.txt的文本文件扩展名被改为.jpg,如果用图片浏览器去打开这个.jpg文件,则会发现它不是一个有效的JPG格式的图片。所以有必要对经过媒体文件扩展名筛选的媒体文件做进一步的有效性检测,本实施方式采用的方法是通过检测媒体文件的特征码来确定媒体文件的有效性,相比于对媒体文件的数据结构做全部检测,具有高效快速而正确率又损失极小的优点。所述媒体文件特征码是指媒体文件的以二进制存储的数据内容中存在的区别于其他媒体文件的二进制代码。不同的媒体文件具有不同的媒体文件特征码。比如JPG图片文件的特征码为最开始的2个字节为OxFF和0xD8,PNG图片文件的特征码为最开始的3个字节为0x89、0x50和0x4E,BMP图片的特征码为最开始的2个字节为0x42和0x4D。媒体文件特征码过滤设置存放于一可扩展标记语言文件中,在对第二文件列表中的文件做媒体文件特征码过滤之前,从该可扩展标记语言文件中读取媒体文件特征码过滤设置。在步骤S310中,将媒体文件清单提供给媒体文件请求者。媒体文件请求者在得到媒体文件清单后,便可以开始对媒体文件清单中的媒体文件进行浏览、播放、编辑等操作。当用户拔除或卸载某一存储设备之后,图3所示方法生成的媒体文件清单应当把属于该存储设备的媒体文件从该媒体文件清单中移除,以保证媒体文件清单中的媒体文件都是有效的。请参阅图4,示意性的示出了图3所示方法中存储设备被移除后更新媒体文件清单的方法的流程图,包括以下步骤在步骤S402中,侦测到存储设备被移除。在Android系统中,当有存储设备被移除或卸载后,会有硬体变更事件的通知发出,例如盘符为“E:/”的闪存卡被移除。在步骤S404中,移除媒体文件清单中属于该存储设备的文件。在媒体文件清单中,将所属盘符为侦测到的被移除的存储设备的对应盘符的文件移除,保证媒体清单中的媒体文件都是有效的。在步骤S406中,将媒体文件清单提供给媒体文件请求者。对本领域的技术人员来说,可以根据本发明的发明方案和发明构思结合生产的实际需要做出其他相应的改变或调整,而这些改变和调整都应属于本发明权利要求的保护范围。
权利要求
1.一种在Android系统中生成媒体文件清单的方法,用于向媒体文件请求者提供媒体文件清单,其特征在于所述方法包括以下步骤指定媒体文件所在路径;获取该路径下的所有文件列表,记为第一文件列表;对第一文件列表中的文件做媒体文件扩展名过滤,将匹配媒体文件扩展名的文件添加到第二文件列表;对第二文件列表中的文件做媒体文件特征码过滤,将匹配媒体文件特征码的文件添加到媒体文件清单;及将媒体文件清单提供给媒体文件请求者。
2.如权利要求1所述的在Android系统中生成媒体文件清单的方法,其特征在于媒体文件包括音频媒体文件、视频媒体文件和图片文件。
3.如权利要求1所述的在Android系统中生成媒体文件清单的方法,其特征在于媒体文件扩展名过滤设置存放于一可扩展标记语言文件中,在对第一文件列表中的文件做媒体文件扩展名过滤之前,从该可扩展标记语言文件中读取媒体文件扩展名过滤设置。
4.如权利要求1所述的在Android系统中生成媒体文件清单的方法,其特征在于媒体文件特征码过滤设置存放于一可扩展标记语言文件中,在对第二文件列表中的文件做媒体文件特征码过滤之前,从该可扩展标记语言文件中读取媒体文件特征码过滤设置。
5.一种在Android系统中生成媒体文件清单的方法,用于向媒体文件请求者提供媒体文件清单,其特征在于所述方法包括以下步骤侦测到新的存储设备被添加;获取该存储设备中的所有文件列表,记为第一文件列表;对第一文件列表中的文件做媒体文件扩展名过滤,将匹配媒体文件扩展名的文件添加到第二文件列表;对第二文件列表中的文件做媒体文件特征码过滤,将匹配媒体文件特征码的文件添加到媒体文件清单;及将媒体文件清单提供给媒体文件请求者。
6.如权利要求5所述的在Android系统中生成媒体文件清单的方法,其特征在于所述方法还包括以下步骤侦测到存储设备被移除;移除媒体文件清单中属于该存储设备的文件;将媒体文件清单提供给媒体文件请求者。
7.如权利要求5所述的在Android系统中生成媒体文件清单的方法,其特征在于媒体文件包括音频媒体文件、视频媒体文件和图片文件。
8.如权利要求5所述的在Android系统中生成媒体文件清单的方法,其特征在于媒体文件扩展名过滤设置存放于一可扩展标记语言文件中,在对第一文件列表中的文件做媒体文件扩展名过滤之前,从该可扩展标记语言文件中读取媒体文件扩展名过滤设置。
9.如权利要求5所述的在Android系统中生成媒体文件清单的方法,其特征在于媒体文件特征码过滤设置存放于一可扩展标记语言文件中,在对第二文件列表中的文件做媒体文件特征码过滤之前,从该可扩展标记语言文件中读取媒体文件特征码过滤设置。
全文摘要
一种在Android系统中生成媒体文件清单的方法,用于向媒体文件请求者提供媒体文件清单,包括以下步骤指定媒体文件所在路径;获取该路径下的所有文件列表,记为第一文件列表;对第一文件列表中的文件做媒体文件扩展名过滤,将匹配媒体文件扩展名的文件添加到第二文件列表;对第二文件列表中的文件做媒体文件特征码过滤,将匹配媒体文件特征码的文件添加到媒体文件清单;将媒体文件清单提供给媒体文件请求者。根据本发明的技术方案,可以在Android系统中快速而准确的生成媒体文件清单,提供给媒体文件清单的请求者。
文档编号G06F17/30GK102467546SQ20101054615
公开日2012年5月23日 申请日期2010年11月16日 优先权日2010年11月16日
发明者蔡灯宇 申请人:鸿富锦精密工业(深圳)有限公司, 鸿海精密工业股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1