Re: [問題] 取得影片的相關資訊

看板java作者 (null)時間15年前 (2010/04/09 01:31), 編輯推噓2(200)
留言2則, 1人參與, 最新討論串2/2 (看更多)
硬是把 event-driven 的東西轉成一般的 method call, 感覺有點醜 XD import java.io.IOException; import java.net.URL; import java.util.ArrayList; import java.util.List; import javax.media.CannotRealizeException; import javax.media.ConfigureCompleteEvent; import javax.media.ControllerEvent; import javax.media.ControllerListener; import javax.media.Format; import javax.media.Manager; import javax.media.MediaLocator; import javax.media.NoDataSourceException; import javax.media.NoPlayerException; import javax.media.NoProcessorException; import javax.media.Processor; import javax.media.control.TrackControl; public class JMFExample { public static Format getFormat(MediaLocator locator) throws NoProcessorException, IOException { final Processor processor = Manager.createProcessor(locator); processor.configure(); final List fmts = new ArrayList(); processor.addControllerListener(new ControllerListener() { @Override public void controllerUpdate(ControllerEvent evt) { if (evt instanceof ConfigureCompleteEvent) { for (TrackControl o : processor.getTrackControls()) { fmts.add(o.getFormat()); } if (fmts.isEmpty()) { fmts.add(null); } processor.close(); } } }); while (fmts.isEmpty()) { try { Thread.sleep(100); } catch (InterruptedException ignored) { } } return (Format) fmts.get(0); } public static void main(String[] args) throws NoPlayerException, IOException, CannotRealizeException, NoDataSourceException, InterruptedException { MediaLocator locator = new MediaLocator(new URL( "file:///home/qrtt1/JMF/MELT.MPG")); // MPEG, 320x200, FrameRate=23.9, Length=96000 System.out.println(getFormat(locator)); } } -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 61.231.54.197

04/09 09:47, , 1F
太感謝了:)
04/09 09:47, 1F

04/09 09:54, , 2F
http://goo.gl/QEoH JMF 2.1.1 支援的格式
04/09 09:54, 2F
文章代碼(AID): #1BlXBrmB (java)
文章代碼(AID): #1BlXBrmB (java)