Package javax.media.bean.playerbean

Source Code of javax.media.bean.playerbean.MediaPlayer

package javax.media.bean.playerbean;

import java.applet.AppletContext;
import java.awt.Component;
import java.awt.Panel;
import java.awt.PopupMenu;
import java.beans.PropertyChangeSupport;
import java.io.IOException;
import java.io.ObjectInput;
import java.io.ObjectOutput;
import java.net.URL;
import java.util.Vector;
import java.util.logging.Level;
import java.util.logging.Logger;

import javax.media.ClockStoppedException;
import javax.media.Control;
import javax.media.Controller;
import javax.media.ControllerListener;
import javax.media.GainControl;
import javax.media.IncompatibleSourceException;
import javax.media.IncompatibleTimeBaseException;
import javax.media.Manager;
import javax.media.MediaLocator;
import javax.media.NoPlayerException;
import javax.media.Player;
import javax.media.Time;
import javax.media.TimeBase;
import javax.media.protocol.DataSource;

import net.sf.fmj.utility.LoggerSingleton;

public class MediaPlayer extends java.awt.Container implements Player, java.io.Externalizable

  private static final Logger logger = LoggerSingleton.logger;

  // created the same vars that Sun's has, we aren't using many of them yet (or may might not ever)
  private PropertyChangeSupport changes;
 
  private String urlString;
 
  private MediaLocator mrl;
 
  private URL url;
 
  private AppletContext mpAppletContext;
 
 
 
 
  private boolean panelVisible;
 
  private boolean cachingVisible;
 
  private boolean fixedAspectRatio;
 
  //private boolean fitVideo; 
 
  private boolean looping;
 
  transient Player player;
 
  transient Panel panel;
 
  transient Panel vPanel;
 
  transient Panel newPanel;
 
  transient Component visualComponent;
 
  transient Component controlComponent;
 
  transient Component cachingComponent;
  private transient int controlPanelHeight;
 
  private transient int urlFieldHeight;
 
  private int preferredHeight;
 
  private int preferredWidth;
 
  private int state;
 
  private Vector controlListeners;
 
  private PopupMenu zoomMenu;
 
  private URL mpCodeBase;
 

  protected transient GainControl gainControl;

  protected transient String curVolumeLevel;

  protected transient float curVolumeValue;

  protected transient String curZoomLevel;

  protected transient float curZoomValue;

  protected transient Time mediaTime;
 
  // selfListener
 
  private long contentLength;
 
  //private boolean fixtedFirstTime;
 
  private boolean displayURL;
 
  private boolean isPopupActive;
 
  // urlName
 
  // mouseListen;
 
  // errMeth;
 
  public MediaPlayer()
  { 
  }

  public void addController(Controller newController) throws IncompatibleTimeBaseException
  {
    if (player == null)
      return;

    player.addController(newController);
  }

  public void addControllerListener(ControllerListener listener)
  {
    if (player == null)
      return;

    player.addControllerListener(listener);
  }

  public void close()
  {
    if (player == null)
      return;
    player.close();
  }

  public void deallocate()
  {
    if (player == null)
      return;
    player.deallocate();
  }

  public Control getControl(String forName)
  {
    if (player == null)
      return null;
    return player.getControl(forName);
  }

  public Component getControlPanelComponent()
  {
    if (player == null)
      return null;
    return player.getControlPanelComponent();
  }

  public Control[] getControls()
  {
    if (player == null)
      return new Control[0];
    return player.getControls()// TODO: do we add extra controls?
  }

  public Time getDuration()
  {
    if (player == null)
      return DURATION_UNKNOWN;
    return player.getDuration();
  }

  public GainControl getGainControl()
  {
    if (player == null)
      return null;
    return player.getGainControl();
  }

  public long getMediaNanoseconds()
  {
    if (player == null)
      return Long.MAX_VALUE;
    return player.getMediaNanoseconds();
  }

  public Time getMediaTime()
  {
    if (player == null)
      return new Time(Long.MAX_VALUE);
   
    return player.getMediaTime();
  }

  public float getRate()
  {
    if (player == null)
      return 0.f;
    return player.getRate();
  }

  public Time getStartLatency()
  {
    if (player == null)
      return new Time(Long.MAX_VALUE);

    return player.getStartLatency();
  }

  public int getState()
  {
    if (player == null)
      return Unrealized;
    return player.getState();
  }

  public Time getStopTime()
  {
    if (player == null)
      return null;
    return player.getStopTime()
  }

  public Time getSyncTime()
  {
    if (player == null)
      return new Time(Long.MAX_VALUE);

    return player.getSyncTime();
  }

  public int getTargetState()
  {
    if (player == null)
      return Unrealized;
    return player.getTargetState();
  }

  public TimeBase getTimeBase()
  {
    if (player == null)
      return null;
    return player.getTimeBase();
  }

  public Component getVisualComponent()
  {
    if (player == null)
      return null;
   
    return player.getVisualComponent();
  }

  public Time mapToTimeBase(Time t) throws ClockStoppedException
  {
    if (player == null)
      return new Time(Long.MAX_VALUE);

    return player.mapToTimeBase(t);
  }

  public void prefetch()
  {
    if (player == null)
      return;
   
    player.prefetch();
  }

  public void realize()
  {
    if (player == null)
      return;
    player.realize();
  }

  public void removeController(Controller oldController)
  {
    if (player == null)
      return;
    player.removeController(oldController);
  }

  public void removeControllerListener(ControllerListener listener)
  {
    if (player == null)
      return;
    player.removeControllerListener(listener);
  }

  public void setMediaTime(Time now)
  {
    if (player == null)
      return;
    player.setMediaTime(now);
  }

  public float setRate(float factor)
  {
    if (player == null)
      return 0.f;
    return player.setRate(factor);
  }

  public void setSource(DataSource source) throws IOException, IncompatibleSourceException
  {
    if (player == null)
      return;
    player.setSource(source);
  }

  public void setStopTime(Time stopTime)
  {
    if (player == null)
      return;
    player.setStopTime(stopTime);
  }

  public void setTimeBase(TimeBase master) throws IncompatibleTimeBaseException
  {
    if (player == null)
      return;
    player.setTimeBase(master);
  }

  public void start()
  {
    if (player == null)
      return;
    player.start();
  }

  public void stop()
  {
    if (player == null)
      return;
    player.stop();
  }

  public void syncStart(Time at)
  {
    if (player == null)
      return;
    player.syncStart(at);
  }

  public String getMediaLocation()
  { 
    if (player == null)
      return " ";
    throw new UnsupportedOperationException()// TODO
  }

  protected MediaLocator getMediaLocator(String filename)
  {  return new MediaLocator("file://" + filename);
  }

  public void setMediaLocation(String location)
  {  throw new UnsupportedOperationException()// TODO
  }

 
  public void setMediaLocator(MediaLocator locator)
  { 
    try
    {
      player = Manager.createPlayer(locator);
    } catch (NoPlayerException e)
    {
      logger.log(Level.WARNING, "" + e, e);
    } catch (IOException e)
    {
      logger.log(Level.WARNING, "" + e, e);
    }
   
  }

  public void setDataSource(DataSource ds)
  { 
    try
    {
      player = Manager.createPlayer(ds);
    } catch (NoPlayerException e)
    {
      logger.log(Level.WARNING, "" + e, e);
    } catch (IOException e)
    {
      logger.log(Level.WARNING, "" + e, e);
    }
  }

  public void setPlayer(Player newPlayer)
  {  this.player = newPlayer;
  }

   
 

  public boolean getPlaybackLoop()
  {  return looping;
  }

  public void setPlaybackLoop(boolean val)
  {  looping = val;
  }

  public boolean isPlayBackLoop()
  {  return looping;
  }

  public void setZoomTo(String scale)
  {  this.curZoomLevel = scale;  // TODO: convert to float
  }

  public String getZoomTo()
  {  return curZoomLevel;
  }

  public int getControlPanelHeight()
  {  return controlPanelHeight;
  }

  public int getMediaLocationHeight()
  {  return urlFieldHeight;
  }

  public void setVolumeLevel(String volumeString)
  {  curVolumeLevel = volumeString;  // TODO: float conversion
  }

  public String getVolumeLevel()
  {  return curVolumeLevel;
  }

  public boolean isMediaLocationVisible()
  {  return displayURL;
  }

  public void setMediaLocationVisible(boolean val)
  {  displayURL = val;
  }

  public boolean isControlPanelVisible()
  {  return panelVisible;
  }

  public void setControlPanelVisible(boolean isVisible)
  {  panelVisible = isVisible;
  }

  public boolean isCachingControlVisible()
  {  return cachingVisible;
  }

  public void setCachingControlVisible(boolean isVisible)
  {  cachingVisible = isVisible;
  }

  public boolean isFixedAspectRatio()
  {  throw new UnsupportedOperationException()// TODO
  }

  public void setFixedAspectRatio(boolean isFixed)
  {  throw new UnsupportedOperationException()// TODO
  }

  public void setPopupActive(boolean isActive)
  {  isPopupActive = isActive;
  }


  public Player getPlayer()
  {  return player;
  }



  public void stopAndDeallocate()
  { 
    stop();
    deallocate();
    // TODO: is it more complicated than this?
  }

 

  // synchronized in reference impl
  public synchronized void waitForState(int s)
  {  throw new UnsupportedOperationException()// TODO
  }

  public void readExternal(ObjectInput in)
      throws java.io.IOException, ClassNotFoundException
  throw new UnsupportedOperationException()// TODO
  }

  public void writeExternal(ObjectOutput out)
      throws java.io.IOException
  throw new UnsupportedOperationException()// TODO
  }

  public void setBounds(int x, int y, int w, int h)
  {  throw new UnsupportedOperationException()// TODO
  }

  public java.awt.Dimension getPreferredSize()
  {  throw new UnsupportedOperationException()// TODO
  }

  public void addPropertyChangeListener(java.beans.PropertyChangeListener c)
  {  throw new UnsupportedOperationException()// TODO
  }

  public void removePropertyChangeListener(java.beans.PropertyChangeListener c)
  {  throw new UnsupportedOperationException()// TODO
  }

  public void setCodeBase(java.net.URL cb)
  {  mpCodeBase = cb;
  }

  public void saveMediaTime()
  {  throw new UnsupportedOperationException()// TODO
  }

  public void restoreMediaTime()
  {  throw new UnsupportedOperationException()// TODO
  }
 
 
 
}
TOP

Related Classes of javax.media.bean.playerbean.MediaPlayer

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.