專利名稱:生成媒體文件清單的方法
技術領域:
本發(fā)明涉及文件處理技術領域,特別是涉及一種在Android系統(tǒng)中生成媒體文件清單的方法。
背景技術:
Android系統(tǒng)是一種廣泛使用在便攜型裝置中的輕型操作系統(tǒng),例如在移動電話、 掌上播放器、GPS導航儀等數(shù)字設備中,它提供了強大的媒體文件存取功能,可以對音頻、視頻、圖片等多種媒體文件進行檢索和瀏覽,同時還可以對視頻和圖片媒體文件生成略縮圖, 用以供用戶預覽。但是,強大的功能也帶來了性能的下降,比如對媒體文件類型和有效性的檢查,對視頻和圖片媒體文件生成略縮圖,將消耗大量的系統(tǒng)資源,并且需要更多的響應時間,這對于經(jīng)常需要對媒體文件進行掃描的用戶來說,是難以忍受的。在Android系統(tǒng)中有許多需要讀取媒體文件的應用程序,比如圖片瀏覽器、幻燈片放映程序、屏幕保護程序等,若使用Android系統(tǒng)提供的媒體文件存取功能去獲取媒體文件清單,特別是當媒體文件數(shù)量較多的時候,將占用大量的資源和時間,使用戶進行不必要的等待,產(chǎn)生不好的用戶體驗。
發(fā)明內(nèi)容
鑒于以上內(nèi)容,有必要提供一種在Android系統(tǒng)中高效的、輕型的、快速的生成媒體文件清單的方法,供用戶或應用程序使用媒體文件清單中的媒體文件。一種在Android系統(tǒng)中生成媒體文件清單的方法,用于向媒體文件請求者提供媒體文件清單,所述方法包括以下步驟指定媒體文件所在路徑;獲取該路徑下的所有文件列表,記為第一文件列表;對第一文件列表中的文件做媒體文件擴展名過濾,將匹配媒體文件擴展名的文件添加到第二文件列表;對第二文件列表中的文件做媒體文件特征碼過濾,將匹配媒體文件特征碼的文件添加到媒體文件清單;及將媒體文件清單提供給媒體文件請求者。一種在Android系統(tǒng)中生成媒體文件清單的方法,用于向媒體文件請求者提供媒體文件清單,所述方法包括以下步驟偵測到新的存儲設備被添加;獲取該存儲設備中的所有文件列表,記為第一文件列表;對第一文件列表中的文件做媒體文件擴展名過濾,將匹配媒體文件擴展名的文件添加到第二文件列表;對第二文件列表中的文件做媒體文件特征碼過濾,將匹配媒體文件特征碼的文件添加到媒體文件清單;及
將媒體文件清單提供給媒體文件請求者。與現(xiàn)有技術相比,上述在Android系統(tǒng)中生成媒體文件清單的方法,由于采取了媒體文件擴展名過濾和媒體文件特征碼過濾兩級媒體文件過濾的步驟,兼顧了快速掃描媒體文件和有效檢測媒體文件的特點,可以快速而準確的生成媒體文件清單。
圖1為本發(fā)明一種實施方式中的在Android系統(tǒng)中生成媒體文件清單的方法的應用架構(gòu)圖。圖2為本發(fā)明一種實施方式中的在Android系統(tǒng)中生成媒體文件清單的方法的流程圖。圖3為本發(fā)明另一種實施方式的在Android系統(tǒng)中生成媒體文件清單的方法的流程圖。圖4為圖3所示方法中存儲設備被移除后更新媒體文件清單的方法的流程圖。主要元件符號說明
媒體文件請求者 Γ 02
媒體文件清單服務 104 存儲設備10具體實施例方式請參閱圖1,示意性的示出了根據(jù)本發(fā)明一種實施方式的在Android系統(tǒng)中生成媒體文件清單的方法的應用架構(gòu)圖。在一種實施方式中,生成媒體文件清單的方法用媒體文件清單服務104來實現(xiàn),從存儲設備106獲取有效的媒體文件清單,并提供給媒體文件請求者102。所述媒體文件包括音頻媒體文件、視頻媒體文件和圖片文件,比如MP3文件、AVI 文件、JPG文件等。運行的時候,所述媒體文件請求者102向所述媒體文件清單服務104發(fā)出呼叫請求,并提供請求的媒體文件的類型和路徑,所述媒體文件清單服務104在接收到所述媒體文件請求者102的呼叫請求后,從所述存儲設備106的相應路徑下獲取匹配請求的媒體文件類型的媒體文件信息,生成媒體文件清單,再將媒體文件清單以響應的方式發(fā)送給所述媒體文件請求者102。所述媒體文件請求者102,是媒體文件清單的請求者和使用者,可以是MP3播放器、視頻播放器、圖片瀏覽器等多種應用程序。所述媒體文件請求者102從所述媒體文件清單服務104取得媒體文件清單后,可以對媒體文件清單中的媒體文件進行瀏覽、播放、編輯等操作。所述存儲設備106,是媒體文件的載體和提供者,用于存放媒體文件,可以是內(nèi)置的存儲裝置,也可以是外置的存儲裝置,比如閃存卡。
4
下面結(jié)合圖2和圖3來說明所述媒體文件清單服務104在接收到來自所述媒體文件請求者102的請求后,生成媒體文件清單的方法。請參閱圖2,示意性的示出了根據(jù)本發(fā)明一種實施方式的在Android系統(tǒng)中生成媒體文件清單的方法的流程圖,包括以下步驟在步驟S202中,指定媒體文件所在路徑。所述媒體文件所在路徑為請求者想取得媒體文件的存儲位置,包括驅(qū)動器盤符和文件夾,形如“D:/MusiC/”。所述媒體文件所在路徑可以為內(nèi)置存儲裝置中的路徑,也可以是外置存儲裝置中的路徑。在步驟S204中,獲取該路徑下的所有文件列表,記為第一文件列表。所述第一文件列表中包含各類型的文件,有媒體文件和非媒體文件。在步驟S206中,對第一文件列表中的文件做媒體文件擴展名過濾,將匹配媒體文件擴展名的文件添加到第二文件列表。不同的媒體文件有不同的擴展名,比如音頻媒體文件的擴展名有.mp3、. wav, . wma等,視頻媒體文件的擴展名有.avi、. wmv, . flv等,圖片文件的擴展名有.jpg、. gif、. tif等,通過文件后綴名可以過濾出請求者想要讀取的媒體文件。媒體文件擴展名過濾設置存放于一可擴展標記語言(XML)文件中,在對第一文件列表中的文件做媒體文件擴展名過濾之前,從該可擴展標記語言文件中讀取媒體文件擴展名過濾設置。在步驟S208中,對第二文件列表中的文件做媒體文件特征碼過濾,將匹配媒體文件特征碼的文件添加到媒體文件清單。通過媒體文件的擴展名來篩選媒體文件,并不能保證篩選出的媒體文件一定是有效的媒體文件,因為文件的擴展名可以任意的被更改,例如一個.txt的文本文件擴展名被改為.jpg,如果用圖片瀏覽器去打開這個.jpg文件,則會發(fā)現(xiàn)它不是一個有效的JPG格式的圖片。所以有必要對經(jīng)過媒體文件擴展名篩選的媒體文件做進一步的有效性檢測,本實施方式采用的方法是通過檢測媒體文件的特征碼來確定媒體文件的有效性,相比于對媒體文件的數(shù)據(jù)結(jié)構(gòu)做全部檢測,具有高效快速而正確率又損失極小的優(yōu)點。所述媒體文件特征碼是指媒體文件的以二進制存儲的數(shù)據(jù)內(nèi)容中存在的區(qū)別于其他媒體文件的二進制代碼。不同的媒體文件具有不同的媒體文件特征碼。比如JPG圖片文件的特征碼為最開始的2個字節(jié)為OxFF和0xD8,PNG圖片文件的特征碼為最開始的3個字節(jié)為0x89、0x50和0x4E,BMP圖片的特征碼為最開始的2個字節(jié)為0x42和0x4D。媒體文件特征碼過濾設置存放于一可擴展標記語言文件中,在對第二文件列表中的文件做媒體文件特征碼過濾之前,從該可擴展標記語言文件中讀取媒體文件特征碼過濾設置。在步驟S210中,將媒體文件清單提供給媒體文件請求者。媒體文件請求者在得到媒體文件清單后,便可以開始對媒體文件清單中的媒體文件進行瀏覽、播放、編輯等操作。請參閱圖3,示意性的示出了根據(jù)本發(fā)明另一種實施方式的在Android系統(tǒng)中生成媒體文件清單的方法的流程圖,包括以下步驟在步驟S302中,偵測到新的存儲設備被添加。當有新的存儲設備添加到系統(tǒng)中時,會被分配新的盤符,如“E:/”盤。在步驟S304中,獲取該存儲設備中的所有文件列表,記為第一文件列表。所述第一文件列表中包含各類型的文件,有媒體文件和非媒體文件。在步驟S306中,對第一文件列表中的文件做媒體文件擴展名過濾,將匹配媒體文件擴展名的文件添加到第二文件列表。不同的媒體文件有不同的擴展名,比如音頻媒體文件的擴展名有.mp3、. wav, . wma等,視頻媒體文件的擴展名有.avi、. wmv, . flv等,圖片文件的擴展名有.jpg、. gif、. tif等,通過文件后綴名可以過濾出請求者想要讀取的媒體文件。媒體文件擴展名過濾設置存放于一可擴展標記語言(XML)文件中,在對第一文件列表中的文件做媒體文件擴展名過濾之前,從該可擴展標記語言文件中讀取媒體文件擴展名過濾設置。在步驟S308中,對第二文件列表中的文件做媒體文件特征碼過濾,將匹配媒體文件特征碼的文件添加到媒體文件清單。通過媒體文件的擴展名來篩選媒體文件,并不能保證篩選出的媒體文件一定是有效的媒體文件,因為文件的擴展名可以任意的被更改,例如一個.txt的文本文件擴展名被改為.jpg,如果用圖片瀏覽器去打開這個.jpg文件,則會發(fā)現(xiàn)它不是一個有效的JPG格式的圖片。所以有必要對經(jīng)過媒體文件擴展名篩選的媒體文件做進一步的有效性檢測,本實施方式采用的方法是通過檢測媒體文件的特征碼來確定媒體文件的有效性,相比于對媒體文件的數(shù)據(jù)結(jié)構(gòu)做全部檢測,具有高效快速而正確率又損失極小的優(yōu)點。所述媒體文件特征碼是指媒體文件的以二進制存儲的數(shù)據(jù)內(nèi)容中存在的區(qū)別于其他媒體文件的二進制代碼。不同的媒體文件具有不同的媒體文件特征碼。比如JPG圖片文件的特征碼為最開始的2個字節(jié)為OxFF和0xD8,PNG圖片文件的特征碼為最開始的3個字節(jié)為0x89、0x50和0x4E,BMP圖片的特征碼為最開始的2個字節(jié)為0x42和0x4D。媒體文件特征碼過濾設置存放于一可擴展標記語言文件中,在對第二文件列表中的文件做媒體文件特征碼過濾之前,從該可擴展標記語言文件中讀取媒體文件特征碼過濾設置。在步驟S310中,將媒體文件清單提供給媒體文件請求者。媒體文件請求者在得到媒體文件清單后,便可以開始對媒體文件清單中的媒體文件進行瀏覽、播放、編輯等操作。當用戶拔除或卸載某一存儲設備之后,圖3所示方法生成的媒體文件清單應當把屬于該存儲設備的媒體文件從該媒體文件清單中移除,以保證媒體文件清單中的媒體文件都是有效的。請參閱圖4,示意性的示出了圖3所示方法中存儲設備被移除后更新媒體文件清單的方法的流程圖,包括以下步驟在步驟S402中,偵測到存儲設備被移除。在Android系統(tǒng)中,當有存儲設備被移除或卸載后,會有硬體變更事件的通知發(fā)出,例如盤符為“E:/”的閃存卡被移除。在步驟S404中,移除媒體文件清單中屬于該存儲設備的文件。在媒體文件清單中,將所屬盤符為偵測到的被移除的存儲設備的對應盤符的文件移除,保證媒體清單中的媒體文件都是有效的。在步驟S406中,將媒體文件清單提供給媒體文件請求者。對本領域的技術人員來說,可以根據(jù)本發(fā)明的發(fā)明方案和發(fā)明構(gòu)思結(jié)合生產(chǎn)的實際需要做出其他相應的改變或調(diào)整,而這些改變和調(diào)整都應屬于本發(fā)明權利要求的保護范圍。
權利要求
1.一種在Android系統(tǒng)中生成媒體文件清單的方法,用于向媒體文件請求者提供媒體文件清單,其特征在于所述方法包括以下步驟指定媒體文件所在路徑;獲取該路徑下的所有文件列表,記為第一文件列表;對第一文件列表中的文件做媒體文件擴展名過濾,將匹配媒體文件擴展名的文件添加到第二文件列表;對第二文件列表中的文件做媒體文件特征碼過濾,將匹配媒體文件特征碼的文件添加到媒體文件清單;及將媒體文件清單提供給媒體文件請求者。
2.如權利要求1所述的在Android系統(tǒng)中生成媒體文件清單的方法,其特征在于媒體文件包括音頻媒體文件、視頻媒體文件和圖片文件。
3.如權利要求1所述的在Android系統(tǒng)中生成媒體文件清單的方法,其特征在于媒體文件擴展名過濾設置存放于一可擴展標記語言文件中,在對第一文件列表中的文件做媒體文件擴展名過濾之前,從該可擴展標記語言文件中讀取媒體文件擴展名過濾設置。
4.如權利要求1所述的在Android系統(tǒng)中生成媒體文件清單的方法,其特征在于媒體文件特征碼過濾設置存放于一可擴展標記語言文件中,在對第二文件列表中的文件做媒體文件特征碼過濾之前,從該可擴展標記語言文件中讀取媒體文件特征碼過濾設置。
5.一種在Android系統(tǒng)中生成媒體文件清單的方法,用于向媒體文件請求者提供媒體文件清單,其特征在于所述方法包括以下步驟偵測到新的存儲設備被添加;獲取該存儲設備中的所有文件列表,記為第一文件列表;對第一文件列表中的文件做媒體文件擴展名過濾,將匹配媒體文件擴展名的文件添加到第二文件列表;對第二文件列表中的文件做媒體文件特征碼過濾,將匹配媒體文件特征碼的文件添加到媒體文件清單;及將媒體文件清單提供給媒體文件請求者。
6.如權利要求5所述的在Android系統(tǒng)中生成媒體文件清單的方法,其特征在于所述方法還包括以下步驟偵測到存儲設備被移除;移除媒體文件清單中屬于該存儲設備的文件;將媒體文件清單提供給媒體文件請求者。
7.如權利要求5所述的在Android系統(tǒng)中生成媒體文件清單的方法,其特征在于媒體文件包括音頻媒體文件、視頻媒體文件和圖片文件。
8.如權利要求5所述的在Android系統(tǒng)中生成媒體文件清單的方法,其特征在于媒體文件擴展名過濾設置存放于一可擴展標記語言文件中,在對第一文件列表中的文件做媒體文件擴展名過濾之前,從該可擴展標記語言文件中讀取媒體文件擴展名過濾設置。
9.如權利要求5所述的在Android系統(tǒng)中生成媒體文件清單的方法,其特征在于媒體文件特征碼過濾設置存放于一可擴展標記語言文件中,在對第二文件列表中的文件做媒體文件特征碼過濾之前,從該可擴展標記語言文件中讀取媒體文件特征碼過濾設置。
全文摘要
一種在Android系統(tǒng)中生成媒體文件清單的方法,用于向媒體文件請求者提供媒體文件清單,包括以下步驟指定媒體文件所在路徑;獲取該路徑下的所有文件列表,記為第一文件列表;對第一文件列表中的文件做媒體文件擴展名過濾,將匹配媒體文件擴展名的文件添加到第二文件列表;對第二文件列表中的文件做媒體文件特征碼過濾,將匹配媒體文件特征碼的文件添加到媒體文件清單;將媒體文件清單提供給媒體文件請求者。根據(jù)本發(fā)明的技術方案,可以在Android系統(tǒng)中快速而準確的生成媒體文件清單,提供給媒體文件清單的請求者。
文檔編號G06F17/30GK102467546SQ20101054615
公開日2012年5月23日 申請日期2010年11月16日 優(yōu)先權日2010年11月16日
發(fā)明者蔡燈宇 申請人:鴻富錦精密工業(yè)(深圳)有限公司, 鴻海精密工業(yè)股份有限公司