⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 processordemo.java

📁 java 完全探索的随书源码
💻 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 + -