Learning ActionScript 2.0 in Adobe Flash |
|
|
|
| Working with Images, Sound, and Video > About using FLV video > Preloading FLV files | |||
To track the downloading progress of FLV files, use the NetStream.bytesLoaded and NetStream.bytesTotal properties. To obtain the total bytes and current number of bytes loaded for an FLV file, use the NetStream.bytesLoaded and NetStream.bytesTotal properties.
The following example uses the bytesLoaded and bytesTotal properties that show the loading progress of video1.flv into the video object instance called my_video. A text field called loaded_txt is dynamically created to show information about the loading progress.
To preload an FLV file:
var connection_nc:NetConnection = new NetConnection();
connection_nc.connect(null);
var stream_ns:NetStream = new NetStream(connection_nc);
my_video.attachVideo(stream_ns);
stream_ns.play("http://www.helpexamples.com/flash/video/lights_short.flv");
this.createTextField("loaded_txt", this.getNextHighestDepth(), 10, 10, 160, 22);
var loaded_interval:Number = setInterval(checkBytesLoaded, 500, stream_ns);
function checkBytesLoaded(my_ns:NetStream) {
var pctLoaded:Number = Math.round(my_ns.bytesLoaded / my_ns.bytesTotal * 100);
loaded_txt.text = Math.round(my_ns.bytesLoaded / 1000) + " of " + Math.round(my_ns.bytesTotal / 1000) + " KB loaded (" + pctLoaded + "%)";
progressBar_mc.bar_mc._xscale = pctLoaded;
if (pctLoaded >= 100) {
clearInterval(loaded_interval);
}
}
|
NOTE |
If your progress bar loads instantly, the video has cached on your hard disk (either from testing this example or loading it in a different procedure). If this occurs, upload a FLV file to your server and load it instead. |
Another way to preload FLV files is to use the NetStream.setBufferTime() method. This method takes a single parameter that indicates the number of seconds of the FLV stream to buffer before playback begins. For more information, see setBufferTime (NetStream.setBufferTime method), getBytesLoaded (MovieClip.getBytesLoaded method), getBytesTotal (MovieClip.getBytesTotal method), bytesLoaded (NetStream.bytesLoaded property), bytesTotal (NetStream.bytesTotal property), and setInterval function in the ActionScript 2.0 Language Reference.
|
|
|
|