14.12. Fast-Forwarding and Rewinding a Net Stream
Problem
You want to fast-forward or
rewind
(also called seeking
) a net stream.
Solution
Use the NetStream.seek( )
method.
Discussion
You can fast-forward or rewind to any point within a net stream using
the NetStream.seek( )
method. This method
requires you to specify the number of seconds from the beginning of
the net stream to which to seek. For example, to return to the
beginning of a net stream, you can use the value 0:
// Return to the beginning of a net stream. myNetStream.seek(0);
The preceding technique seeks to an absolute position within the
stream. However, if you want to seek to a position relative to the
current playback position, such as five seconds forward or backward,
add or subtract the number of seconds from the net
stream’s time
property (which
returns the current playback time in seconds from the beginning of
the net stream):
// Seek six seconds ahead of the current time. myNetStream.seek(myNetStream.time + 6);
Also, stream data may not contain keyframes at every frame, and the
seek( )
method can seek only to a keyframe.
Therefore, by default, the seek( )
method moves
to the keyframe that is nearest to the frame you specify. For
example, if you instruct a net stream to seek to 12 seconds, but the
two nearest keyframes are at 10 and 15 seconds, the net stream seeks
to 10 seconds. If you need more precision, you can adjust the
Application.xml file, which is found in a subdirectory of the FlashCom installation (such ...
Get Actionscript Cookbook now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.