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