Android MediaPlayer原始碼分析總結

2021-09-11 08:47:16 字數 1281 閱讀 9708

server端如何新增自己的player

openmax

mediacodec

注:閱讀本文之前建議先了解 mediaplayer之基本類

mediaplayer mp = new mediaplayer();

mp.setdatasource("/sdcard/test.***");

mp.prepare();//非同步為prepareasync()

mp.start();

mp.stop();

mp.release();

不管應用層開發,還是底層開發維護人員都需要對mediaplayer的狀態機了然於胸,如下:

2,client端呼叫流程如下(以prepare為例,其它api呼叫類似):

3,如何在server端新增自己的player

一般來說,各個方案商都有自己的player,不可避免的需要在android裝置上新增自己的player,方法如下圖所示。

說明:上述兩圖中,以xxplayer為例新增了兩個類xxplaye***ctory和xxplayer,具體需實現的介面參見android原始碼。

說明如下:

上述幾個類之間的資料流關係如下圖所示:

從事adnroid a/v encoder/decoder開發整合人員,一般來說需要關注下圖的il層實現,詳細描述參見官方文件。

上述為對先前從事過的專案作個技術總結,本著開源的精神,與大家共同進步!

PostgresQL FDW 原始碼分析之總結

1.fdw 先在 getforeignrelsize 中通過本地或向 remote 端查詢的方式,得到了對 sql 語句基本掃瞄方式的成本估算 2.然後在 postgresgetforeignpaths 計算出各種情況的 plan path,包括基礎掃瞄方法,和各種 join 方法,path 中帶有...

Heritrix原始碼分析 十五 各種問題總結

相關問題 1.heritrix雜湊30個dns後就結束 2.如何用heritrix實現增量抓取,也就是抓取更新了的網頁 1.heritrix雜湊30個dns後就結束 總體來說,是30個抓取執行緒去獲取 資料發生交通堵塞,導致無法獲取url內容,最後都卡死在那裡.沒讀原始碼真的很難知道這個原因,好好的...

Heritrix原始碼分析 十五 各種問題總結

相關問題 1.heritrix雜湊30個dns後就結束 2.如何用heritrix實現增量抓取,也就是抓取更新了的網頁 1.heritrix雜湊30個dns後就結束 總體來說,是30個抓取執行緒去獲取 資料發生交通堵塞,導致無法獲取url內容,最後都卡死在那裡.沒讀原始碼真的很難知道這個原因,好好的...