📄 playerdemo3.java
字号:
// PlayerDemo3.java
import javax.media.*;
import java.awt.*;
import java.awt.event.*;
class PlayerDemo3 extends Frame implements ControllerListener
{
Component cc, pbar, vc;
Player player;
PlayerDemo3 (String title, String mediaURL)
{
super (title);
addWindowListener (new WindowAdapter ()
{
public void windowClosing (WindowEvent e)
{
player.close ();
System.exit (0);
}
});
try
{
player = Manager.createPlayer (new MediaLocator (mediaURL));
}
catch (java.io.IOException e)
{
terminate (e.toString ());
}
catch (NoPlayerException e)
{
terminate ("Could not find a player.");
}
if (player == null)
terminate ("Trouble creating player.");
player.addControllerListener (this);
player.prefetch ();
}
public void controllerUpdate (ControllerEvent e)
{
if (e instanceof CachingControlEvent)
{
CachingControlEvent cce = (CachingControlEvent) e;
CachingControl cc = cce.getCachingControl ();
long cc_progress = cce.getContentProgress ();
long cc_length = cc.getContentLength ();
if (pbar == null)
if ((pbar = cc.getControlComponent ()) != null)
{
add (pbar, BorderLayout.NORTH);
pack ();
}
if (cc_progress == cc_length && pbar != null)
{
remove (pbar);
pbar = null;
pack ();
}
return;
}
if (e instanceof ControllerClosedEvent)
System.exit (0);
if (e instanceof EndOfMediaEvent)
{
player.setMediaTime (new Time (0));
return;
}
if (e instanceof RealizeCompleteEvent)
{
vc = player.getVisualComponent ();
if (vc != null)
add (vc, BorderLayout.CENTER);
cc = player.getControlPanelComponent ();
if (cc != null)
add (cc, (vc != null) ? BorderLayout.SOUTH
: BorderLayout.CENTER);
pack ();
setResizable (false);
setVisible (true);
}
}
void terminate (String s)
{
System.out.println (s);
System.exit (-1);
}
public static void main (String [] args)
{
if (args.length != 1)
{
System.out.println ("usage: java PlayerDemo3 url");
return;
}
new PlayerDemo3 ("Player Demo3", args [0]);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -