📄 processordemo.java
字号:
// ProcessorDemo.java
import javax.media.*;
import javax.media.control.*;
import java.awt.*;
import java.awt.event.*;
class ProcessorDemo extends Frame implements ControllerListener
{
Component cc, vc;
TrackControl [] tc;
Processor processor;
ProcessorDemo (String title, String mediaURL)
{
super (title);
addWindowListener (new WindowAdapter ()
{
public void windowClosing (WindowEvent e)
{
processor.close ();
System.exit (0);
}
});
try
{
MediaLocator ml = new MediaLocator (mediaURL);
processor = Manager.createProcessor (ml);
}
catch (java.io.IOException e)
{
terminate (e.toString ());
}
catch (NoProcessorException e)
{
terminate ("Could not find a processor.");
}
if (processor == null)
terminate ("Trouble creating processor.");
processor.addControllerListener (this);
processor.configure ();
while (processor.getState () != Processor.Configured);
processor.setContentDescriptor (null);
TrackControl [] tc = processor.getTrackControls ();
if (tc.length > 0)
{
Codec [] c = new Codec [1];
c [0] = new NegativeEffect ();
try
{
tc [0].setCodecChain (c);
}
catch (UnsupportedPlugInException e2)
{
terminate (e2.toString ());
}
}
processor.realize ();
}
public void controllerUpdate (ControllerEvent e)
{
if (e instanceof ControllerClosedEvent)
System.exit (0);
if (e instanceof EndOfMediaEvent)
{
processor.setMediaTime (new Time (0));
return;
}
if (e instanceof RealizeCompleteEvent)
{
vc = processor.getVisualComponent ();
if (vc != null)
add (vc, BorderLayout.CENTER);
cc = processor.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 ProcessorDemo url");
return;
}
new ProcessorDemo ("Processor Demo", args [0]);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -