JavaアプリケーションでMPlayerを使用しています。そのドキュメントによると、それを埋め込むためのウィンドウIDをMPlayerに伝える必要があります。私はそのようにこれをやっています:
long winid = 0; //Window ID.
if (osName.startsWith("Windows")){
final Class<?> cl = Class.forName("sun.awt.windows.WComponentPeer");
java.lang.reflect.Field f = cl.getDeclaredField("hwnd");
f.setAccessible(true);
winid = f.getLong(overlay.getPeer()); //overlay is a canvas where MPlayer is embedded.
}
System.out.println(winid);
ただし、getPeer()メソッドは非推奨です。回避策があるかどうか知りたいです。
助けてくれてありがとう。