swf 格式Flash 動畫播放器在Android上的實現
首先明確一點,swf格式和其他的一些視訊格式有很大的區別。
它裡面不僅有音訊還有其他的各種元素(術語叫塊型別)包括但不僅限於:
向量圖、圖片、文字、字型、片段動畫、按鈕、幀、動作、音訊等等
你需要將這些元素一一解析並渲染出來。
這種格式是允許使用者來互動的,你像大多數flash遊戲,使用者可以點選按鈕產生不同的動畫效果。這就說明swf格式裡面還有
程式碼來控制這些行為。
下面來談實現:
我們要想自己來寫一個swf格式的播放器似乎不太現實,因為有檔案解析,mp3解碼,事件處理,圖片渲染等等對於我們來說
太複雜,也太耗時。
在網上找了幾個開源的swf播放器原始碼,像swfdec fliter等,我最近有研究了下fliter。但發現它只被維護到2006年就沒再繼續維護,所以
我們後來出來的一些flash它都沒法播放,這個需要我們自己去新增相應的塊型別處理。
android上實現需要將swfdec或者fliter移植到android平臺,但是無論是swfdec還是fliter都依賴好些lib ,如fliter依賴與libz libjpeg libmad等
而且這些都是必須的,比如libz 因為有的塊採用的是壓縮的格式所以要解壓,libjpeg是解析圖片,libmad是mp3解碼。因此我們要移植fliter首先
得把這三個lib使用交叉編譯的方式用ndk編譯出來,再來供libfliter來使用。
另外還有一個艱鉅的任務就是音訊和視訊的渲染,需要使用到android的audiotrack和surface,這些跟系統相關的需要我們自己來實現。
目前就是這個思路,接下來我會開始實現這些功能。
相關文章
- [譯] 在 Android 上實現 Google Inbox 的樣式動畫AndroidGo動畫
- PowerBuilder 9實現FLASH動畫播放(轉)UI動畫
- Android 動畫實現Android動畫
- 如何在Android上播放swf檔案Android
- android 顯示flash視訊播放器Android播放器
- Android 動畫框架實現Android動畫框架
- HTML載入FLASH(*.swf檔案)詳解HTML
- MVC應用程式顯示Flash(swf)影片MVC
- Android的Tween動畫的實現框架Android動畫框架
- Android動畫實現詳解Android動畫
- Flash8教程6:漸現動畫動畫
- Android動畫實現繪製原理Android動畫
- 在WPS演示中快速實現Flash插入
- 用J2ME在移動裝置上實現動畫(轉)動畫
- 在資料出口中實現動畫動畫
- [譯] Story 中 Type Mode 在 iOS 和 Android 上的實現iOSAndroid
- android播放swf檔案Android
- win10系統怎麼在PPT中匯入SWF動畫檔案Win10動畫
- swf是什麼檔案格式 swf檔案要用什麼軟體開啟
- Kotlin + Netty 在 Android 上實現 Socket 的服務端KotlinNettyAndroid服務端
- Android實現帶動畫的下拉重新整理RecyclerViewAndroid動畫View
- Android播放swf類視訊Android
- Android——Activity切換炫酷動畫實現Android動畫
- 如何在Android中實現摺紙動畫Android動畫
- 基於Android的音樂播放器的設計與實現Android播放器
- 如何將PPT幻燈片轉換為SWF動畫動畫
- 硬解碼播放器上如何實現截GIF功能?播放器
- Android 頁面跳轉動畫的兩種實現方式Android動畫
- 申請加入BCG的第四篇破文--Flash5匯入保護SWF動畫的補丁製作 (3千字)H5動畫
- 在vscode上寫Makefile出現格式錯誤VSCode
- 有沒有用java做的Flash播放器啊?Java播放器
- [譯] Android 如何實現氣泡選擇動畫Android動畫
- Android利用Drawable Animation實現圖片動畫播放Android動畫
- Android 超簡單音樂播放器(十)歌詞的實現Android播放器
- Fluwx:微信SDK在Flutter上的實現Flutter
- 在 Redis 上實現的分散式鎖Redis分散式
- random_device在windows上的實現randomdevWindows
- Flex4/AS3.0自定義VideoPlayer元件皮膚,實現Flash視訊播放器FlexS3IDE元件播放器