Package org.opensourcephysics.media.core
Class VideoClipControl
java.lang.Object
org.opensourcephysics.display.OSPRuntime.Supported
org.opensourcephysics.media.core.ClipControl
org.opensourcephysics.media.core.VideoClipControl
- All Implemented Interfaces:
PropertyChangeListener
,EventListener
This is a ClipControl that uses the video itself for timing.
- Version:
- 1.0
- Author:
- Douglas Brown
-
Field Summary
Fields inherited from class org.opensourcephysics.media.core.ClipControl
clip, loadedStepNumber, looping, PROPERTY_CLIPCONTROL_FRAMEDURATION, PROPERTY_CLIPCONTROL_LOOPING, PROPERTY_CLIPCONTROL_PLAYING, PROPERTY_CLIPCONTROL_RATE, PROPERTY_CLIPCONTROL_STEPNUMBER, rate, savedFrameDuration, stepNumber, timeSource, timeStretch, video, videoFrameNumber, videoVisible
-
Constructor Summary
ConstructorsModifierConstructorDescriptionprotected
VideoClipControl
(VideoClip videoClip) Constructs a VideoClipControl. -
Method Summary
Modifier and TypeMethodDescriptionvoid
back()
Steps back one step.void
dispose()
Removes this listener from the video so it can be garbage collected.int
Gets the current frame number.static XML.ObjectLoader
Returns an XML.ObjectLoader to save and load data for this class.double
Gets the mean frame duration in milliseconds.double
getRate()
Gets the play rate.int
Gets the step number.double
getStepTime
(int stepNumber) Gets the start time of the specified step measured from step 0.double
getTime()
Gets the current time in milliseconds measured from step 0.boolean
Gets the looping status.boolean
Gets the playing status.void
play()
Plays the clip.void
Responds to property change events.void
setFrameDuration
(double duration) Sets the frame duration.void
setLooping
(boolean loops) Turns on/off looping.void
setRate
(double newRate) Sets the play rate.void
setStepNumber
(int n) Sets the step number.void
step()
Steps forward one step.void
stop()
Stops at the next step.Methods inherited from class org.opensourcephysics.media.core.ClipControl
getControl, getMeasuredRate, getTimeSource, getVideoClip, isTimeSource, setFrameNumber, setTimeSource
Methods inherited from class org.opensourcephysics.display.OSPRuntime.Supported
addListeners, addPropertyChangeListener, addPropertyChangeListener, addPropertyChangeListenerSafely, dispose, firePropertyChange, firePropertyChange, removeListeners, removePropertyChangeListener, removePropertyChangeListener
-
Constructor Details
-
VideoClipControl
Constructs a VideoClipControl.- Parameters:
videoClip
- the video clip
-
-
Method Details
-
play
public void play()Plays the clip.- Overrides:
play
in classClipControl
-
stop
public void stop()Stops at the next step.- Overrides:
stop
in classClipControl
-
step
public void step()Steps forward one step.- Overrides:
step
in classClipControl
-
back
public void back()Steps back one step.- Overrides:
back
in classClipControl
-
setStepNumber
public void setStepNumber(int n) Sets the step number.- Overrides:
setStepNumber
in classClipControl
- Parameters:
n
- the desired step number
-
getStepNumber
public int getStepNumber()Gets the step number.- Overrides:
getStepNumber
in classClipControl
- Returns:
- the current step number
-
setRate
public void setRate(double newRate) Sets the play rate.- Overrides:
setRate
in classClipControl
- Parameters:
newRate
- the desired rate
-
getRate
public double getRate()Gets the play rate.- Overrides:
getRate
in classClipControl
- Returns:
- the current rate
-
setLooping
public void setLooping(boolean loops) Turns on/off looping.- Overrides:
setLooping
in classClipControl
- Parameters:
loops
-true
to turn looping on
-
isLooping
public boolean isLooping()Gets the looping status.- Overrides:
isLooping
in classClipControl
- Returns:
true
if looping is on
-
getFrameNumber
public int getFrameNumber()Gets the current frame number.- Overrides:
getFrameNumber
in classClipControl
- Returns:
- the frame number
-
isPlaying
public boolean isPlaying()Gets the playing status.- Specified by:
isPlaying
in classClipControl
- Returns:
true
if playing
-
getTime
public double getTime()Gets the current time in milliseconds measured from step 0.- Specified by:
getTime
in classClipControl
- Returns:
- the current time
-
getStepTime
public double getStepTime(int stepNumber) Gets the start time of the specified step measured from step 0.- Specified by:
getStepTime
in classClipControl
- Parameters:
stepNumber
- the step number- Returns:
- the step time
-
setFrameDuration
public void setFrameDuration(double duration) Sets the frame duration.- Specified by:
setFrameDuration
in classClipControl
- Parameters:
duration
- the desired frame duration in milliseconds
-
getMeanFrameDuration
public double getMeanFrameDuration()Gets the mean frame duration in milliseconds.- Specified by:
getMeanFrameDuration
in classClipControl
- Returns:
- the frame duration in milliseconds
-
propertyChange
Responds to property change events. VideoClipControl listens for the following events: "playing", "looping", "rate" and "framenumber" from Video.- Specified by:
propertyChange
in interfacePropertyChangeListener
- Overrides:
propertyChange
in classClipControl
- Parameters:
e
- the property change event
-
dispose
public void dispose()Removes this listener from the video so it can be garbage collected.- Overrides:
dispose
in classClipControl
-
getLoader
Returns an XML.ObjectLoader to save and load data for this class.- Returns:
- the object loader
-