本人最近在用JMF做一个屏幕录象并远程传输工具。我是自定义了一个DataSource,然后定义了一个线程不断的用BufferedImage bi = robot.createScreenCapture()来获取屏幕信息的。最后生成一个Player来播放。但是总是出现Exception in thread "Thread-3" java.lang.OutOfMemoryError: Java heap space。我以为是堆栈设得太小,于是用-Xms60 和 -Xmx256把堆栈设大了点但问题依旧。最后我发现,我把屏幕截获的范围设为800X600却又可以执行。可是我的要求就是截获整个屏幕啊,只截800X600范围怎么行。于是我想是不是因为我截获的原始图片太大了不能播放,我想改变个格式,但不知道怎么办,试着用了下javax.media.format.JPEGFormat却发现不会用。有哪位大哥也是搞这个方面的,一起探讨一下哈~!