Class PlayerApplet

  • All Implemented Interfaces:
    java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable, java.lang.Runnable, javax.accessibility.Accessible

    public class PlayerApplet
    extends java.applet.Applet
    implements java.lang.Runnable
    A simple applet that plays an MPEG audio file. The URL (relative to the document base) is passed as the "audioURL" parameter.
    Since:
    0.0.8
    See Also:
    Serialized Form
    • Nested Class Summary

      • Nested classes/interfaces inherited from class java.applet.Applet

        java.applet.Applet.AccessibleApplet
      • Nested classes/interfaces inherited from class java.awt.Panel

        java.awt.Panel.AccessibleAWTPanel
      • Nested classes/interfaces inherited from class java.awt.Container

        java.awt.Container.AccessibleAWTContainer
      • Nested classes/interfaces inherited from class java.awt.Component

        java.awt.Component.AccessibleAWTComponent, java.awt.Component.BaselineResizeBehavior, java.awt.Component.BltBufferStrategy, java.awt.Component.FlipBufferStrategy
    • Field Summary

      Fields 
      Modifier and Type Field Description
      static java.lang.String AUDIO_PARAMETER  
      • Fields inherited from class java.awt.Component

        BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT
      • Fields inherited from interface java.awt.image.ImageObserver

        ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
    • Constructor Summary

      Constructors 
      Constructor Description
      PlayerApplet()  
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      protected java.lang.Thread createPlayerThread()
      Creates a new thread used to run the audio player.
      void destroy()  
      protected AudioDevice getAudioDevice()
      Retrieves the AudioDevice instance that will be used to sound the audio data.
      protected java.lang.String getAudioFileName()  
      protected java.io.InputStream getAudioStream()
      Retrieves the InputStream that provides the MPEG audio stream data.
      protected java.net.URL getAudioURL()  
      java.lang.String getFileName()  
      void init()
      Initializes this applet.
      protected void play​(java.io.InputStream in, AudioDevice dev)
      Decompresses audio data from an InputStream and plays it back through an AudioDevice.
      void run()
      The run method for the audio player thread.
      void setFileName​(java.lang.String name)
      Sets the URL of the audio stream to play.
      void start()
      Starts this applet.
      void stop()
      Stops this applet.
      protected void stopPlayer()
      Stops the audio player.
      • Methods inherited from class java.applet.Applet

        getAccessibleContext, getAppletContext, getAppletInfo, getAudioClip, getAudioClip, getCodeBase, getDocumentBase, getImage, getImage, getLocale, getParameter, getParameterInfo, isActive, isValidateRoot, newAudioClip, play, play, resize, resize, setStub, showStatus
      • Methods inherited from class java.awt.Panel

        addNotify
      • Methods inherited from class java.awt.Container

        add, add, add, add, add, addContainerListener, addImpl, addPropertyChangeListener, addPropertyChangeListener, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getAlignmentX, getAlignmentY, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getComponentZOrder, getContainerListeners, getFocusTraversalKeys, getFocusTraversalPolicy, getInsets, getLayout, getListeners, getMaximumSize, getMinimumSize, getMousePosition, getPreferredSize, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusCycleRoot, isFocusTraversalPolicyProvider, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paint, paintComponents, paramString, preferredSize, print, printComponents, processContainerEvent, processEvent, remove, remove, removeAll, removeContainerListener, removeNotify, setComponentZOrder, setFocusCycleRoot, setFocusTraversalKeys, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setFont, setLayout, transferFocusDownCycle, update, validate, validateTree
      • Methods inherited from class java.awt.Component

        action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addMouseWheelListener, bounds, checkImage, checkImage, coalesceEvents, contains, contains, createImage, createImage, createVolatileImage, createVolatileImage, disable, disableEvents, dispatchEvent, enable, enable, enableEvents, enableInputMethods, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getBackground, getBaseline, getBaselineResizeBehavior, getBounds, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusCycleRootAncestor, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getFontMetrics, getForeground, getGraphics, getGraphicsConfiguration, getHeight, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputContext, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocation, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getName, getParent, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getSize, getToolkit, getTreeLock, getWidth, getX, getY, gotFocus, handleEvent, hasFocus, hide, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isDoubleBuffered, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isMaximumSizeSet, isMinimumSizeSet, isOpaque, isPreferredSizeSet, isShowing, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, postEvent, prepareImage, prepareImage, printAll, processComponentEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processKeyEvent, processMouseEvent, processMouseMotionEvent, processMouseWheelEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, repaint, requestFocus, requestFocus, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, requestFocusInWindow, reshape, revalidate, setBackground, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setEnabled, setFocusable, setFocusTraversalKeysEnabled, setForeground, setIgnoreRepaint, setLocale, setLocation, setLocation, setMaximumSize, setMinimumSize, setMixingCutoutShape, setName, setPreferredSize, setSize, setSize, setVisible, show, show, size, toString, transferFocus, transferFocusBackward, transferFocusUpCycle
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
    • Field Detail

    • Constructor Detail

      • PlayerApplet

        public PlayerApplet()
    • Method Detail

      • getAudioDevice

        protected AudioDevice getAudioDevice()
                                      throws JavaLayerException
        Retrieves the AudioDevice instance that will be used to sound the audio data.
        Returns:
        an audio device instance that will be used to sound the audio stream.
        Throws:
        JavaLayerException
      • getAudioStream

        protected java.io.InputStream getAudioStream()
        Retrieves the InputStream that provides the MPEG audio stream data.
        Returns:
        an InputStream from which the MPEG audio data is read, or null if an error occurs.
      • getAudioFileName

        protected java.lang.String getAudioFileName()
      • getAudioURL

        protected java.net.URL getAudioURL()
      • setFileName

        public void setFileName​(java.lang.String name)
        Sets the URL of the audio stream to play.
      • getFileName

        public java.lang.String getFileName()
      • play

        protected void play​(java.io.InputStream in,
                            AudioDevice dev)
                     throws JavaLayerException
        Decompresses audio data from an InputStream and plays it back through an AudioDevice. The playback is run on a newly created thread.
        Parameters:
        in - The InputStream that provides the MPEG audio data.
        dev - The AudioDevice to use to sound the decompressed data.
        Throws:
        JavaLayerException - if there was a problem decoding or playing the audio data.
      • createPlayerThread

        protected java.lang.Thread createPlayerThread()
        Creates a new thread used to run the audio player.
        Returns:
        A new Thread that, once started, runs the audio player.
      • init

        public void init()
        Initializes this applet.
        Overrides:
        init in class java.applet.Applet
      • start

        public void start()
        Starts this applet. An input stream and audio device are created and passed to the play() method.
        Overrides:
        start in class java.applet.Applet
      • stop

        public void stop()
        Stops this applet. If audio is currently playing, it is stopped.
        Overrides:
        stop in class java.applet.Applet
      • destroy

        public void destroy()
        Overrides:
        destroy in class java.applet.Applet
      • run

        public void run()
        The run method for the audio player thread. Simply calls play() on the player to play the entire stream.
        Specified by:
        run in interface java.lang.Runnable