這幾天等著那個團體Blog能下來呢 看來還有得一段時間 本想以後就都在團體Blog中寫點東西 省得兩頭跑 累啊 不過有點心得就先寫點 呵呵
這段時間忙著學習是用JSR135呢 現在就把自己的心得總結一下
在MMAPI包中類還是很多的,但是剛開始學習最關鍵的就是理解Manager和Player 以及Control類;其他的很多類(後面包含Control的)都是Control子類的。
這三類常用的關系的就是Manager產生Player,Player獲得某一具體Control。比如下面的就是獲取攝像頭的常用源碼:
Player p;
VideoControl vc;
p = Manager.createPlayer("capture://video");
p.realize();
vc = (VideoControl) p.getControl("VideoControl");
學習Manager類: 此類就是管理多媒體數據來源,並依照來源創建Player類
鍵掌握幾個概念: Data Delivery Protocol;Content Types;Media Locator;Media Encoding Strings
Data Delivery Protocol 中文意思就是數據傳送協議, 其實也就是指多媒體數據的來源,用來區分多媒體數據到底是從硬盤上讀取的還是從網上下載的還是通過捕獲手機上視頻或者話筒獲取的等數據來源。
Content Types 中文意思就是多媒體數據的內容類型,用來區別數據的類型以及數據格式,比如:audio/mpeg指MP3格式的聲音數據;video/mpeg 指MPEG格式的視頻數據。
Media Locator:中文意思就是多媒體數據實體,就是明確指定多媒體數據的來源位置,這個就是Manager類用來創建Player類的實際用到的,比如上面的“capture://video"; ://前面的就表示使用的數據傳送協議。
Media Encoding Strings:中文意思是多媒體數據編碼串;這個沒看大明白,也沒搞清具體怎麼用;大概意思就是將獲得的數據以(或者是以)編碼串指定的格式編碼輸出。
學習Player類: 此類就是播放多媒體數據並控制其狀態
關鍵點:Player類很簡單 關鍵就是掌握類的5種狀態 另外一個是事件觸發處理(這個通過使用PlayerListener類來實現)
學習Control類:此類實際上只是空類,關鍵是它的子孫太多了,哈哈,它的子類就是指對播放進行某一方面的控制
實際上這個應該是一個集群,大概的意思知道了學起來也方便,比如VolumeControl類 就是控制播放音量的。要用具體的控制類時再看看怎麼用就可以了,都不是很難。
MMAPI包主要就是這三種,或叫三層吧。第一層Manager管理數據源,第二層Player播放數據,第三層Control類集控制播放屬性。 還有其他幾個類:ContentDescriptor DataSource SourceStream TimeBase等 都不是常用的,由於時間緊迫也沒仔細去看 要用的時候再了解 也不是很難的 容易掌握。
時間緊迫,隨便做點總結,希望長時間過後自己回頭再看可以有些幫助,要是對其他新手能有些幫助的話就更好了。