Package ejmf.examples.basics

Source Code of ejmf.examples.basics.AudioControlListener

package ejmf.examples.basics;

import java.awt.BorderLayout;
import java.awt.Component;

import javax.media.ControllerEvent;
import javax.media.ControllerListener;
import javax.media.EndOfMediaEvent;
import javax.media.Player;
import javax.media.RealizeCompleteEvent;
import javax.media.Time;
import javax.swing.JPanel;
import javax.swing.SwingUtilities;

/*
* Example of ControllerListener that rewinds player.
*/

public class AudioControlListener implements ControllerListener {
  private JPanel panel;
  private Component cpc;

  public AudioControlListener(JPanel panel) {
      this.panel = panel;
        }

  public void controllerUpdate(ControllerEvent event) {
      Player p = (Player) event.getSourceController();
      if (event instanceof EndOfMediaEvent) {
            p.setMediaTime(new Time(0));
            }
      else if (event instanceof RealizeCompleteEvent) {
    cpc = p.getControlPanelComponent();
    if (cpc != null)
          SwingUtilities.invokeLater(new AddComponentsThread(cpc));
      }
  }

  class AddComponentsThread implements Runnable {
      private Component c;

      public AddComponentsThread(Component component) {
       this.c = component;
      }
      public void run() {
          panel.add(c, BorderLayout.CENTER);
    panel.validate();
      }
  }
    }
TOP

Related Classes of ejmf.examples.basics.AudioControlListener

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.