專利名稱:一種swf文件解析方法及裝置的制作方法
技術領域:
本發(fā)明涉及文件解析領域,更具體地說,涉及一種SWf文件解析方法和裝置。
背景技術:
Flash動畫(shockwave flash, swf)是動畫設計軟件Flash的專用格式的文件, 支持矢量和點陣圖形的動畫文件格式,被廣泛應用于網(wǎng)頁設計、動畫制作等領域。SWf文件 通常也被稱為Flash文件,SWf文件可以被Flash播放器打開,可以用瀏覽器直接打開。而 flv文件是Flash視頻,一種視頻格式。網(wǎng)絡播放器實質上是一種使用swf格式的播放器 界面來加載flv格式視頻。Flv是流媒體文件,可以用大部分播放軟件播放。swf文件是 flash動畫發(fā)布后的文件,其源文件是fla文件。swf文件包含文字、圖片、聲音、視頻、代 碼,可以與用戶進行交互flv文件只是單純的視頻文件,只能用軟件播放觀看,無法與用戶 進行交互。同時flv文件是源文件,可以隨意修改,比swf文件大。Swf文件的修改需要通 過解析出源文件。為了減小flv文件的大小,需要將其其進行匯編為更小的swf文件。但 是由于匯編過程的一些錯誤,導致flv文件不能正常顯示或者使用,因此需要在使用swf文 件之前對其進行解析,檢測其設置是否有誤,若出現(xiàn)問題則及時改正。
當前技術主要是通過Flash播放器能否打開swf文件來檢測其設置是否正確,或 者檢測SWf文件結構外觀設置是否合適,修改則仍然是在編譯器中進行。目前是SWf文件 解析裝置能夠解析出SWf代碼并能對其資源進行提取,然而并不能對其組成資源進行分解 解析,流媒體文件解析效率低下。發(fā)明內(nèi)容
為了解決上述問題,本發(fā)明首先提供了一種swf文件解析方法及裝置,能夠對其 進行代碼解析并對其組成資源進行分解解析,同時可以實現(xiàn)對其組成元素的提取或者直接 對其進行修改編譯。
本發(fā)明提供一種swf文件解析方法,包括加載文件,讀入SWf文件;分析文件,分析SWf文件結構的正確性;解析文件,若分析SWf文件結構正確,對文件結構設置正確的SWf文件進行解析;測試文件,檢測SWf文件的外觀配置是否合適;并 提取文件,提取SWf文件的組成元素以供再次使用;修改文件,若分析SWf文件結構不正確,對該SWf文件進行修改。
本發(fā)明還提供一種swf文件解析裝置,包括加載模塊,用于讀入SWf文件;分析模塊,用于分析所述加載模讀入的SWf文件結構的正確性;解析模塊,若所述分析模塊分析SWf文件結構正確,對文件結構設置正確的SWf文件進 行解析;測試模塊,檢測swf文件的外觀配置是否合適;提取模塊,提取SWf文件的組成元素以供再次使用;修改模塊,若所述分析模塊分析SWf文件結構不正確,對該SWf文件進行修改。
本發(fā)明提供的一種swf文件解析方法及裝置,不僅可以對其整體進行解析,還可 以對其進行元素分解解析。同時可以對其進行修改或者提取元素獨立保存,以便再次使用。
圖1為按照本發(fā)明的swf文件解析方法的流程圖。
圖2為按照本發(fā)明的swf文件解析裝置的模塊組成示意圖。
圖3為按照本發(fā)明的swf文件解析裝置的swf文件樹形結構展示圖。
圖4為按照本發(fā)明的swf文件解析裝置的swf文件控制面板樹形結構圖。
具體實施方式
下面結合附圖和優(yōu)選的實施方式對本發(fā)明作進一步的詳細描述。權利要求中構成 要件和實施例中具體實例之間的對應關系可以如下例證。這里的描述意圖在于確認在實施 例中描述了用來支持在權利要求中陳述的主題的具體實例,由于在實施例中描述了實例, 不意味著該具體實例不表示構成要件。相反地,即使在此包含了具體實例作為對應一個構 成要件的要素特征,也不意味著該具體實例不表示任何其它構成要件。
此外,這里的描述不意味著對應于實施例中陳述的具體實例的所有主題都在權利 要求中引用了。換句話說,這里的描述不否認這種實體,即對應實施例包含的具體實例,但 不包含在其任何一項權利要求中,即,能夠在以后的修正被分案并申請、或增加的可能發(fā)明 的實體。
為了使發(fā)明的目的、技術方案及優(yōu)點更加清楚明白,以下結合附圖及實施方式,對 本發(fā)明進一步詳細說明。應當理解所描述的具體實施方式
僅僅用以解釋本發(fā)明,并不用于 限定本發(fā)明。
本發(fā)明以swf皮膚文件skin, swf為例進行進一步詳細介紹。
本發(fā)明提供一種swf文件解析裝置,用來對swf文件的設置是否正確進行驗證并 解析,具體地,該SWf文件解析裝置包括加載模塊、分析模塊、解析模塊和測試模塊、提取模 塊。首先,在加載模塊通過自動或者手動方式獲得SWf文件地址后,加載SWf文件,同時分 析模塊分析SWf文件結構設置是否正確,若正確,解析模塊解析出該SWf文件,否則不解析 或者提示解析失敗,由修改模塊,對SWf文件進行修改。代碼解析模塊以代碼方式解析所 述swf文件,解析的結果為XML代碼,包括skin, swf文件的節(jié)點名稱、索引、類型三個屬性。 解析出的XML代碼可以通過提取模塊保存解析出的XML代碼?;蛘咭栽胤纸饽K解析所 述skin, swf文件,以樹形結構解析所述skin, swf文件組成元素。同時分解出的樹形結構 元素還可通過提取模塊保存,如將控制面板進行提取,則可以將控制面板單獨另存為圖片、 flv或swf文件等類型的獨立文件。再進行使用時,可以將該單獨文件進行配置,并設置相 應的節(jié)點結構和屬性,就可以再次使用該元素。如圖3所示為,該皮膚文件skin, swf的樹 形分解圖,圖4為其控制面板的樹形分解圖。同時,該皮膚文件skin, swf也可通過測試模 塊測試該皮膚外觀的設置是否合適,如字體大小。
按照本發(fā)明提供的一種swf文件解析方法,具體地,包括以下步驟首先,加載皮膚文件。
swf文件的加載有兩種方法手工輸入和自動輸入。手工輸入是在手工輸入swf文 件的地址,或者可以自動遍歷文件夾選擇輸入SWf文件保存地址。同時分析swf皮膚文件 結構是否正確,正確則進行下一步解析,否則,不解析或則提示解析失敗。
解析皮膚文件,解析SWf文件包括兩種方式,代碼解析方式以及樹形結構據(jù)解析方式。
代碼解析。
若經(jīng)分析swf皮膚文件結構設置正確,那么該皮膚文件直接以XML代碼解析出來, XML代碼解析結果包括節(jié)點名稱、索引、類型。
樹形結構解析。
同時,皮膚文件skin, swf可以以樹形結構分解器組成元素。展現(xiàn)如圖1所示皮膚 文件skin, swf樹形結構列表。皮膚文件skin, swf包括頂面板、控制面板、加載面板、展現(xiàn) 面板、試看面板,每個操作面板又包括多個元素,每個元素通過特定的屬性進行限制,包括: 節(jié)點名稱、索引和類型三個屬性,以編碼程序的形式展示樹形結構。例如控制面板包括提 示信息、返回、預覽、進度條、屏幕顯示、播放列表等等信息,如圖2所示。
測試皮膚文件。
測試文件的外觀是否合適,例如字體大小、顏色、按鈕位置、按鈕特效等,查看視頻 展示效果,如若不合適進行修改。
提取皮膚文件。
可以提取皮膚文件元素,如提取控制面板,把控制面板單獨另存為圖片、flv或 swf文件等類型的獨立文件,再進行使用時,可以將該單獨文件進行配置,并設置相應的節(jié) 點結構和屬性,就可以再次使用該元素。
修改皮膚文件。
經(jīng)分析皮膚文件,若出現(xiàn)錯誤,那么皮膚文件不解析。需要對其進行修改,皮膚文 件可以在本發(fā)明裝置中進行修改也可以不在本發(fā)明裝置中進行休息。經(jīng)測試皮膚文件,若 發(fā)現(xiàn)皮膚文件外觀設置不合適,如字體大小、顏色、按鈕位置、按鈕特效等,也可在本發(fā)明裝 置進行修改。
上述詳細描述通過實施例和/或示意圖闡明了系統(tǒng)和/或過程的各種實施例。就 這些示意圖和/或包含一個或多個功能和/或操作而言,本領域技術人員將理解,這些示意 圖或實施例中的每一個功能和/或操作都可由各種各樣的硬件、軟件、固件、或實際上其任 意組合來單獨地和/或共同地實現(xiàn)。
應該理解,本文描述的方法可以結合硬件或軟件,或在適當時結合兩者的組合來 實現(xiàn)。因此,本發(fā)明的方法,可以采用包含在諸如軟盤、CD-ROM、硬盤驅動器或任何其他機器 可讀存儲介質等有形介質中的程序代碼(即,指令)的形式,其中,當程序代碼在可編程計算 機上執(zhí)行的情況下,計算設備通常包括處理器、該處理器可讀的存儲介質(包括易失性存 儲器和/或存儲元件)、至少一個輸入設備、以及至少一個輸出設備。一個或多個程序可以 例如,通過使用API,可重用控件等來實現(xiàn)或利用結合本發(fā)明描述的過程。這樣的程序優(yōu)選 地用高級過程語言或面向對象編程語言來實現(xiàn),以與計算機系統(tǒng)通信。然而,如果需要,該程序可以用匯編語言或機器語言來實現(xiàn)。在任何情形中,語言可以是編譯語言或解釋語言, 且與硬件實現(xiàn)相結合。
需要說明的是,本發(fā)明的一種P2P節(jié)點選擇系統(tǒng)方案的范疇包括但不限于上述各 部分之間的任意組合。
盡管具體地參考其優(yōu)選實施例來示出并描述了本發(fā)明,但本領域的技術人員可以 理解,可以做出形式和細節(jié)上的各種改變而不脫離所附權利要求書中所述的本發(fā)明的范 圍。以上結合本發(fā)明的具體實施例做了詳細描述,但并非是對本發(fā)明的限制。凡是依據(jù)本 發(fā)明的技術實質對以上實施例所做的任何簡單修改,均仍屬于本發(fā)明技術方案的范圍。
權利要求
1.種swf文件解析方法,包括如下步驟, 加載文件,讀入swf文件; 分析文件,分析SWf文件結構的正確性; 解析文件,若分析SWf文件結構正確,對文件結構設置正確的SWf文件進行解析; 測試文件,檢測SWf文件的外觀配置是否合適;并 提取文件,提取SWf文件的組成元素以供再次使用; 修改文件,若分析SWf文件結構不正確,對該SWf文件進行修改。
2.根據(jù)權利要求1的方法,其特征在于,所述加載文件步驟包括 根據(jù)SWf文件的保存地址讀取所述SWf文件。
3.根據(jù)權利要求2的方法,其特征在于,所述加載文件方式包括 自動加載和手動加載,自動加載包括遍歷文件夾來查找輸入SWf文件地址,手動加載包括人工輸入SWf文件地址。
4.根據(jù)權利要求1的方法,其特征在于,所述分析文件是在加載swf文件的同時遍歷其文件結構設置是否正確。
5.根據(jù)權利要求1的方法,其特征在于,上述解析文件包括 代碼解析和元素分解解析。
6.根據(jù)權利要求5的方法,其特征在于,所述代碼解析包括 XML代碼解析,解析內(nèi)容包括節(jié)點名稱、索引和類型。
7.根據(jù)權利要求5的方法,其特征在于,所述元素分解解析包括 樹形結構解析,即,對組成swf文件的元素以樹形方式體現(xiàn)出解析內(nèi)容。
8.根據(jù)權利要求1的方法,其特征在于,所述測試文件用來測試皮膚swf文件的外觀是否適合,所述皮膚swf文件外觀包括字體大小、顏色、按鈕位置、按鈕特效。
9.根據(jù)權利要求1的方法,其特征在于,所述修改文件是在分析出swf文件出錯或者測試出swf文件配置不合適的情況下對swf文件進行修改。
10.一種swf文件解析裝置,其特征在于,包括 加載模塊,用于讀入SWf文件; 分析模塊,用于分析所述加載模讀入的SWf文件結構的正確性; 解析模塊,若所述分析模塊分析SWf文件結構正確,對文件結構設置正確的SWf文件進行解析; 測試模塊,檢測SWf文件的外觀配置是否合適; 提取模塊,提取SWf文件的組成元素以供再次使用; 修改模塊,若所述分析模塊分析SWf文件結構不正確,對該SWf文件進行修改。
全文摘要
本發(fā)明提供一種swf文件解析方法及裝置,包括如下步驟,加載文件,讀入swf文件;分析文件,分析swf文件結構的正確性;解析文件,若分析swf文件結構正確,對文件結構設置正確的swf文件進行解析;測試文件,檢測swf文件的外觀配置是否合適;并提取文件,提取swf文件的組成元素以供再次使用;修改文件,若分析swf文件結構不正確,對該swf文件進行修改。本發(fā)明實現(xiàn)swf文件的解析,提供代碼解析方式和元素分解方式,同時能夠實現(xiàn)對解析內(nèi)容的提取以達到再次使用的目的,既實現(xiàn)了解析swf文件,又能夠實現(xiàn)對其的修改和解析內(nèi)容的提取,實現(xiàn)流媒體文件解析的快捷性。
文檔編號G06F9/45GK103049303SQ20131001050
公開日2013年4月17日 申請日期2013年1月11日 優(yōu)先權日2013年1月11日
發(fā)明者林洋, 胡曰峰 申請人:樂視網(wǎng)信息技術(北京)股份有限公司