org.xiph.speex.player
Class Recorder

java.lang.Object
  extended by java.awt.Component
      extended by java.awt.Container
          extended by javax.swing.JComponent
              extended by javax.swing.JPanel
                  extended by org.xiph.speex.player.Player
                      extended by org.xiph.speex.player.Recorder
All Implemented Interfaces:
java.awt.event.ActionListener, java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable, java.util.EventListener, javax.accessibility.Accessible

public class Recorder
extends Player

JavaSound Recorder.

Version:
$Revision: 1.2 $
Author:
Marc Gimpel, Wimba S.A. (mgimpel@horizonwimba.com)
See Also:
Serialized Form

Nested Class Summary
protected  class Recorder.Capture
          Capture thread
 
Nested classes/interfaces inherited from class org.xiph.speex.player.Player
Player.Playback
 
Nested classes/interfaces inherited from class javax.swing.JPanel
javax.swing.JPanel.AccessibleJPanel
 
Nested classes/interfaces inherited from class javax.swing.JComponent
javax.swing.JComponent.AccessibleJComponent
 
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
protected  byte[] audio
           
protected  Recorder.Capture capture
           
static java.lang.String CHANNELS_MONO
          Mono Audio (1 channel).
static java.lang.String CHANNELS_STEREO
          Stereo Audio (2 channels).
protected  javax.swing.JButton recordButton
          Record Button
static java.lang.String REVISION
          Revision Number
static java.lang.String SAMPLERATE_11KHZ
          Audio sampled at 11 kHz.
static java.lang.String SAMPLERATE_16KHZ
          Audio sampled at 16 kHz (wideband).
static java.lang.String SAMPLERATE_22KHZ
          Audio sampled at 22 kHz (FM radio quality).
static java.lang.String SAMPLERATE_32KHZ
          Audio sampled at 32 kHz (ultra-wideband).
static java.lang.String SAMPLERATE_44KHZ
          Audio sampled at 44 kHz (CD quality).
static java.lang.String SAMPLERATE_8KHZ
          Audio sampled at 8 kHz (telephone quality).
protected static int STATE_REC_PAUSED
          Finite State Machine State: Recording Paused
protected static int STATE_RECORDING
          Finite State Machine State: Recording
 
Fields inherited from class org.xiph.speex.player.Player
audioFile, audioFilename, audioLength, BUILD, oldstate, pauseButton, playback, playButton, playerButtonPane, playerScrollPane, progressBar, state, STATE_BUFFERING, STATE_ERROR, STATE_INIT, STATE_PAUSED, STATE_PLAYING, STATE_STOPPED, stopButton, timer, VERSION
 
Fields inherited from class javax.swing.JComponent
accessibleContext, listenerList, TOOL_TIP_TEXT_KEY, ui, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOW
 
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
Recorder(java.lang.String file)
          Build a Recorder.
 
Method Summary
 void actionPerformed(java.awt.event.ActionEvent e)
          Process Actions when button are pressed.
protected  void createButtonPanel()
          Create the ButtonPanel for the recorder.
protected  java.io.InputStream getAudioStream()
          Returns an InputSteam containing the Audio to playback.
protected  int getProgress()
          Return the progress of the playback.
 void init()
          Initialize the Player Component.
static void main(java.lang.String[] args)
          Command Line entrance.
 void pauseIt()
          Pause
 void playIt()
           
 void recordIt()
           
 void stopIt()
           
 
Methods inherited from class org.xiph.speex.player.Player
buildButton, createGUI, createImageIcon, createScrollPanel, start, stop
 
Methods inherited from class javax.swing.JPanel
getAccessibleContext, getUI, getUIClassID, paramString, setUI, updateUI
 
Methods inherited from class javax.swing.JComponent
addAncestorListener, addNotify, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, firePropertyChange, firePropertyChange, fireVetoableChange, getActionForKeyStroke, getActionMap, getAlignmentX, getAlignmentY, getAncestorListeners, getAutoscrolls, getBaseline, getBaselineResizeBehavior, getBorder, getBounds, getClientProperty, getComponentGraphics, getComponentPopupMenu, getConditionForKeyStroke, getDebugGraphicsOptions, getDefaultLocale, getFontMetrics, getGraphics, getHeight, getInheritsPopupMenu, getInputMap, getInputMap, getInputVerifier, getInsets, getInsets, getListeners, getLocation, getMaximumSize, getMinimumSize, getNextFocusableComponent, getPopupLocation, getPreferredSize, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getToolTipText, getTopLevelAncestor, getTransferHandler, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingForPrint, isPaintingTile, isRequestFocusEnabled, isValidateRoot, paint, paintBorder, paintChildren, paintComponent, paintImmediately, paintImmediately, print, printAll, printBorder, printChildren, printComponent, processComponentKeyEvent, processKeyBinding, processKeyEvent, processMouseEvent, processMouseMotionEvent, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeNotify, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, resetKeyboardActions, reshape, revalidate, scrollRectToVisible, setActionMap, setAlignmentX, setAlignmentY, setAutoscrolls, setBackground, setBorder, setComponentPopupMenu, setDebugGraphicsOptions, setDefaultLocale, setDoubleBuffered, setEnabled, setFocusTraversalKeys, setFont, setForeground, setInheritsPopupMenu, setInputMap, setInputVerifier, setMaximumSize, setMinimumSize, setNextFocusableComponent, setOpaque, setPreferredSize, setRequestFocusEnabled, setToolTipText, setTransferHandler, setUI, setVerifyInputWhenFocusTarget, setVisible, unregisterKeyboardAction, update
 
Methods inherited from class java.awt.Container
add, add, add, add, add, addContainerListener, addImpl, addPropertyChangeListener, addPropertyChangeListener, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getComponentZOrder, getContainerListeners, getFocusTraversalKeys, getFocusTraversalPolicy, getLayout, getMousePosition, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusCycleRoot, isFocusTraversalPolicyProvider, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paintComponents, preferredSize, printComponents, processContainerEvent, processEvent, remove, remove, removeAll, removeContainerListener, setComponentZOrder, setFocusCycleRoot, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setLayout, transferFocusDownCycle, 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, createImage, createImage, createVolatileImage, createVolatileImage, disableEvents, dispatchEvent, enable, enableEvents, enableInputMethods, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getBackground, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusCycleRootAncestor, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getForeground, getGraphicsConfiguration, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputContext, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocale, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getName, getParent, getPeer, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, hasFocus, hide, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isMaximumSizeSet, isMinimumSizeSet, isPreferredSizeSet, isShowing, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, postEvent, prepareImage, prepareImage, processComponentEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processMouseWheelEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, resize, resize, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setName, setSize, setSize, 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

REVISION

public static final java.lang.String REVISION
Revision Number

See Also:
Constant Field Values

SAMPLERATE_8KHZ

public static final java.lang.String SAMPLERATE_8KHZ
Audio sampled at 8 kHz (telephone quality).

See Also:
Constant Field Values

SAMPLERATE_11KHZ

public static final java.lang.String SAMPLERATE_11KHZ
Audio sampled at 11 kHz.

See Also:
Constant Field Values

SAMPLERATE_16KHZ

public static final java.lang.String SAMPLERATE_16KHZ
Audio sampled at 16 kHz (wideband).

See Also:
Constant Field Values

SAMPLERATE_22KHZ

public static final java.lang.String SAMPLERATE_22KHZ
Audio sampled at 22 kHz (FM radio quality).

See Also:
Constant Field Values

SAMPLERATE_32KHZ

public static final java.lang.String SAMPLERATE_32KHZ
Audio sampled at 32 kHz (ultra-wideband).

See Also:
Constant Field Values

SAMPLERATE_44KHZ

public static final java.lang.String SAMPLERATE_44KHZ
Audio sampled at 44 kHz (CD quality).

See Also:
Constant Field Values

CHANNELS_MONO

public static final java.lang.String CHANNELS_MONO
Mono Audio (1 channel).

See Also:
Constant Field Values

CHANNELS_STEREO

public static final java.lang.String CHANNELS_STEREO
Stereo Audio (2 channels).

See Also:
Constant Field Values

STATE_RECORDING

protected static final int STATE_RECORDING
Finite State Machine State: Recording

See Also:
Constant Field Values

STATE_REC_PAUSED

protected static final int STATE_REC_PAUSED
Finite State Machine State: Recording Paused

See Also:
Constant Field Values

recordButton

protected javax.swing.JButton recordButton
Record Button


capture

protected Recorder.Capture capture

audio

protected byte[] audio
Constructor Detail

Recorder

public Recorder(java.lang.String file)
Build a Recorder.

Parameters:
file -
Method Detail

main

public static void main(java.lang.String[] args)
Command Line entrance.

Parameters:
args -

init

public void init()
Initialize the Player Component.

Overrides:
init in class Player

getAudioStream

protected java.io.InputStream getAudioStream()
                                      throws java.io.IOException
Returns an InputSteam containing the Audio to playback.

Overrides:
getAudioStream in class Player
Returns:
an InputSteam containing the Audio to playback.
Throws:
java.io.IOException

actionPerformed

public void actionPerformed(java.awt.event.ActionEvent e)
Process Actions when button are pressed. Implemented from ActionListener interface.

Specified by:
actionPerformed in interface java.awt.event.ActionListener
Overrides:
actionPerformed in class Player

stopIt

public void stopIt()
Overrides:
stopIt in class Player

playIt

public void playIt()
Overrides:
playIt in class Player

pauseIt

public void pauseIt()
Description copied from class: Player
Pause

Overrides:
pauseIt in class Player

recordIt

public void recordIt()

getProgress

protected int getProgress()
Return the progress of the playback.

Overrides:
getProgress in class Player
Returns:
the progress of the playback.

createButtonPanel

protected void createButtonPanel()
Create the ButtonPanel for the recorder. The recorder button panel that should look something like this:
 
 +--------------------------------+
 | +------+ +----+ +-----+ +----+ |
 | |record| |play| |pause| |stop| |  Button Panel
 | +------+ +----+ +-----+ +----+ |
 +--------------------------------+
 

Overrides:
createButtonPanel in class Player


Copyright © 1999-2004 Wimba S.A. All Rights Reserved.