한국시간으로 어제 8월 1일, 미국시간 7월 31에, 다소 지연 되었지만 JavaFX SDK의 prerelease가 출시되었다.
원래 June 2008에 나오기로 했는데 한달은 늦춰진다 해도 August가 되기 전에 급히 내 놓은듯 하다.

그런데 JavaFX 자체도 좋지만 SDK에 동봉된 JMC(Java Media Component)에 관심이 있다.
JavaFX가 사용하지만 JavaFX에 종속관계는 없다. jmc.jar만 찾으면 된다.


사용하는 입장에선 JMediaPlayer와 JMediaPane만 알면 된다. 둘 다 JComponent이다.

JMediaPlayer의 center에 JMediaPane이 붙고 South에 제어판이 붙어있는 형태다.

맥에서 동영상을 돌려봐야겠다. 소스는 원초적이다.
-
package net.hanjava.jmc;
-
-
import java.io.File;
-
import javax.swing.JFrame;
-
import com.sun.media.jmc.JMediaPlayer;
-
-
public class JMediaPaneTest {
-
-
JMediaPlayer mPlayer = new JMediaPlayer( movieFile.toURI() );
-
frame.add( mPlayer );
-
frame.setSize(800, 480);
-
frame.setVisible(true);
-
}
-
}
실행결과는 이뭐병.

trace에서 볼 수 있듯이 내부적으로 플랫폼에 따라 다른 peer를 만든다.
안되는 원인을 조금 따라가 보다가 그만 털썩!


해석하자면 JAR service provider 기능을 정의한 파일을 열어보니 '이 JAR에는 윈도우용 구현체만 들어있소'라고 써있다.
급하다 보니 맥 배포판에 윈도우용 jar파일을 실수로 넣은듯 하다.
그래 맥은 포기하고 윈도우에서 실행해 보았다.
후뤼준부뤡3로 테스트.
VMWare상의 윈도우에서 화면 캡춰하면서 재생하니 엄청 버벅이는데 막상 해 보면 성능은 좋은편(근데 컨트롤 디자인이 저게 뭐냐..T_T).
lightweight component와 섞여서도 잘 나온다.

-
public class JMediaPlayerTest {
-
-
JMediaPlayer mPlayer = new JMediaPlayer(movieFile.toURI());
-
frame.add(mPlayer);
-
gp.setVisible(true);
-
label.setFont(label.getFont().deriveFont(30f));
-
frame.setSize(800, 480);
-
frame.setVisible(true);
-
}
-
}