Package org.xiph.speex.player
Class Recorder
- java.lang.Object
-
- java.awt.Component
-
- java.awt.Container
-
- javax.swing.JComponent
-
- javax.swing.JPanel
-
- org.xiph.speex.player.Player
-
- 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
Nested Classes Modifier and Type Class Description 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
-
-
Field Summary
Fields Modifier and Type Field Description 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 Buttonstatic java.lang.String
REVISION
Revision Numberstatic 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 Pausedprotected 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
listenerList, TOOL_TIP_TEXT_KEY, ui, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOW
-
-
Constructor Summary
Constructors Constructor Description Recorder(java.lang.String file)
Build a Recorder.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description 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()
Pausevoid
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, hide, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingForPrint, isPaintingOrigin, 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, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, hasFocus, 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, requestFocus, requestFocus, requestFocusInWindow, resize, resize, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setMixingCutoutShape, setName, setSize, setSize, show, show, size, toString, transferFocus, transferFocusBackward, transferFocusUpCycle
-
-
-
-
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
-
-
Method Detail
-
main
public static void main(java.lang.String[] args)
Command Line entrance.- Parameters:
args
-
-
getAudioStream
protected java.io.InputStream getAudioStream() throws java.io.IOException
Returns an InputSteam containing the Audio to playback.- Overrides:
getAudioStream
in classPlayer
- 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 interfacejava.awt.event.ActionListener
- Overrides:
actionPerformed
in classPlayer
-
pauseIt
public void pauseIt()
Description copied from class:Player
Pause
-
recordIt
public void recordIt()
-
getProgress
protected int getProgress()
Return the progress of the playback.- Overrides:
getProgress
in classPlayer
- 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 classPlayer
-
-