欧美性猛交XXXX免费看蜜桃,成人网18免费韩国,亚洲国产成人精品区综合,欧美日韩一区二区三区高清不卡,亚洲综合一区二区精品久久

打開(kāi)APP
userphoto
未登錄

開(kāi)通VIP,暢享免費電子書(shū)等14項超值服

開(kāi)通VIP
利用JMF進(jìn)行多媒體編程(3)
利用JMF進(jìn)行多媒體編程(3)
myeclipse 轉貼  (參與分:19378,專(zhuān)家分:811)   發(fā)表:2005-07-26 10:37   版本:1.0   閱讀:1423

作者:馮睿    本文選自:賽迪網(wǎng)  2002年09月29日  
 
有時(shí)你需要使用一個(gè)Player對象來(lái)控制多個(gè)其他的Player和Controller對象,我們把這個(gè)Player對象稱(chēng)為主對象,并把這些對象組成一個(gè)組。通過(guò)調用主對象中的start()、stop()、setMediaTime()等方法就可以激活組中所有成員的相應方法。主對象控制所有的狀態(tài)變化和事件發(fā)布。然后使用addControllerListerner()方法來(lái)將一個(gè)ControllerListener對象綁定到Player對象上,Controller對象將向該ControllerListener對象發(fā)送事件消息。 

dualPlayer.addControllerListener(this);
 


最后需要調用start()方法來(lái)啟動(dòng)Player對象。start()方法將Player對象的狀態(tài)設置為Started。如果Player沒(méi)有被實(shí)體化(Realize)或預?。≒refetch),start()方法會(huì )自動(dòng)執行這些操作。 

dualPlayer.start();
 


由于JMF類(lèi)實(shí)現了ControllerLister接口,因此需要實(shí)現該接口中的controllerUpdate()方法,該方法在Controller對象產(chǎn)生一個(gè)事件時(shí)被調用。 

public synchronized void controllerUpdate(ControllerEvent event) {
  if (event instanceof RealizeCompleteEvent) {
    Component comp;
    if ((comp = dualPlayer.getVisualComponent()) != null)
      add ("Center", comp);
    if ((comp = dualPlayer.getControlPanelComponent()) != null)
      add("South", comp);
    validate();
  }
}
 


當JMF類(lèi)產(chǎn)生了一個(gè)RealizeCompleteEvent事件后,controllerUpdate()方法在界面上增加兩個(gè)Component對象,一個(gè)用于播放媒體,一個(gè)用于放置控制按鈕,例如播放、停止等。 

在運行程序的過(guò)程中,程序會(huì )產(chǎn)生下面的輸出。 

Starting player ...javax.media.TransitionEvent
  [source=com.sun.media.content.video.mpeg.Handler@71bb78,
  previous=Unrealized,
  current=Realizing,
  target=Started]
Open log file: C:\test\Java\JMF\JMF\jmf.log
javax.media.DurationUpdateEvent
  [source=com.sun.media.content.video.mpeg.Handler@71bb78,duration=
  javax.media.Time@2a37a6
javax.media.RealizeCompleteEvent
[source=com.sun.media.content.video.mpeg.Handler@71bb78,
  previous=Realizing,
  current=Realized,
  target=Started]
Adding visual component
Adding control panel
javax.media.TransitionEvent
  [source=com.sun.media.content.video.mpeg.Handler@71bb78,
  previous=Realized,
  current=Prefetching,
  target=Started]
javax.media.PrefetchCompleteEvent
  [source=com.sun.media.content.video.mpeg.Handler@71bb78,
  previous=Prefetching,
  current=Prefetched,target=Started]
javax.media.StartEvent
  [source=com.sun.media.content.video.mpeg.Handler@71bb78,
  previous=Prefetched,
  current=Started,
  target=Started,
  mediaTime=javax.media.Time@56a05e,timeBaseTime=
  javax.media.Time@3a8602]
javax.media.EndOfMediaEvent
  [source=com.sun.media.content.video.mpeg.Handler@71bb78,
  previous=Started,
  current=Prefetched,
  target=Prefetched,
  mediaTime=javax.media.Time@1d332b]
 


前面提到,當調用start()方法的時(shí)候,Player會(huì )切換到Started狀態(tài)。從上面列出的信息中可以看到Player對象的狀態(tài)從Unrealized變成了Started。當EndOfMedia事件被激活時(shí)(這時(shí)Player對象完成了媒體文件的播放),狀態(tài)從Started變成了Prefetched。圖二顯示了程序正在播放多媒體文件時(shí)的情況。 






圖二 程序正在播放媒體文件
本站僅提供存儲服務(wù),所有內容均由用戶(hù)發(fā)布,如發(fā)現有害或侵權內容,請點(diǎn)擊舉報。
打開(kāi)APP,閱讀全文并永久保存 查看更多類(lèi)似文章
猜你喜歡
類(lèi)似文章
jmf學(xué)習
JMF資源
完美解碼 20110603 By 迪奧|『精品軟件』
m3u8 segmenter
java編音樂(lè )播放器
Live555庫
更多類(lèi)似文章 >>
生活服務(wù)
分享 收藏 導長(cháng)圖 關(guān)注 下載文章
綁定賬號成功
后續可登錄賬號暢享VIP特權!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服

欧美性猛交XXXX免费看蜜桃,成人网18免费韩国,亚洲国产成人精品区综合,欧美日韩一区二区三区高清不卡,亚洲综合一区二区精品久久