|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
public interface FramePositioningControl
The FramePositionControl
is the interface to control precise
positioning to a video frame for Players
.
Frame numbers for a bounded movie must be non-negative and should generally begin with 0, corresponding to media time 0. Each video frame of fa movie must have a unique frame numebr that is one bigger than the previous frame.
There is a direct mapping between the frame number and the media time of
a video frame; although not all Players
can compute the
relationship. For Players
that can compute that relationship,
the mapFramToTime
and mapTimeToFrame
methdos can
be used.
When a Player
is seeked or skipped to a new video frame,
the media time of the Player
will be changed to the media time
of the corresponding video frame.
As much as possible, the methods in this interface should provide
frame-level accuracy with a plus-or-minus-one-frame margin of error to
accommodate for round-off errors. However, if the content has inaccurate
frame positioning information, implementations may not be able to provide
the necessary frame-level accuracy. For instance, some media content may
contain wrong time-stamps or have missing frames. In any case, the results
of each operation should represent the best effort. For the
seek
and skip
methods, the returned value should
indicate the actual new location or the number of frames skipped.
Method Summary | ||
---|---|---|
long |
mapFrameToTime(int frameNumber)
Converts the given frame number to the corresponding media time. |
|
int |
mapTimeToFrame(long mediaTime)
Converts the given media time to the corresponding frame number. |
|
int |
seek(int frameNumber)
Seek to a given video frame. |
|
int |
skip(int framesToSkip)
Skip a given number of frames from the current position. |
Method Detail |
---|
int seek(int frameNumber)
Player
will be updated to reflect the new position set.
This method can be called on a stopped or started
If the given frame number is less than the first or larger than the
last frame number in the media,
Player
. If the Player
is in the
Started state, this method may cause the Player
to change states. If that happens, the appropriate transition events
will be posted by the Player
when its state changes.
seek
will jumpt to either
the first or the last frame respectively.
frameNumber
- the frame to seek to.
int skip(int framesToSkip)
Player
will be updated to reflect the new position
set.
This method can be called on a stopped or started
Player
. If the Player
is in the
Started state, the current position is change. Hence, the frame
acutally skipped to will not be exact.
If the Player
is in the Started state, this
method may cause the Player
to change states. If that
happens, the appropriate transition events will be posted.
If the given framesToSkip
will cause the position to
extend beyond the first or last frame, skip
will jump to
the first or last frame respectively.
framesToSkip
- the number of frames to skip from the current
position. If framesToSkip is positive, it will seek forward by
framesToSkip number of frames. If framesToSkip is negative, it will seek
backward by framesToSkip number of frames. e.g. skip(-1) will seek
backward one frame.
long mapFrameToTime(int frameNumber)
frameNumber
- the input frame number for the conversion.
int mapTimeToFrame(long mediaTime)
The frame returned is the nearest frame that has a media time less than or equal to the given media time.
mapTimeToFram(0)
must not fail and must return the
frame number of the first frame.
mediaTime
- the input media time for the conversion in microseconds.
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
Copyright 1999-2011 Research In Motion Limited. 295 Phillip Street, Waterloo, Ontario, Canada, N2L 3W8. All Rights Reserved.
Java is a trademark of Oracle America Inc. in the US and other countries.
Legal