Hallo!
Ich habe eine Frage zu Preloadern von dynamisch geladenen FLVs.
Auf meiner Webseite
http://www.beatekotowski.de habe ich für meine Galerie kleine Introfilme, danach werden die Bilder gezeigt. Dabei fängt beim ersten Mal das Video später an. Ist ja auch logisch, wegen der Ladezeit. Der Rest allerdings geht sofort los. Daher stimmt das Timing nicht. Ich fände es toll, wenn beides erstmal stehenbleibt, ein wenig vorläd und dann gemeinsam läuft.
Die FLVs lade ich folgendermaßen:
PHP-Code:
var my_nc:NetConnection = new NetConnection();
my_nc.connect(null);
var my_ns:NetStream = new NetStream(my_nc);
film_v.attachVideo(my_ns);
my_ns.setBufferTime(5);
my_ns.play("FLVs/film.flv");
Ich habe den Preloader so weit, dass er mir sagt, wieviel geladen ist. Aber er fängt trotzdem sofort an.
PHP-Code:
var connection_nc:NetConnection = new NetConnection();
connection_nc.connect(null);
var stream_ns:NetStream = new NetStream(connection_nc);
film_v.attachVideo(stream_ns);
stream_ns.play("FLVs/3d.flv");
this.createTextField("loaded_txt", this.getNextHighestDepth(), 20, 20, 160, 22);
this.createEmptyMovieClip("progressBar_mc", this.getNextHighestDepth());
progressBar_mc.createEmptyMovieClip("bar_mc", progressBar_mc.getNextHighestDepth());
with (progressBar_mc.bar_mc){
beginFill(0x666666);
moveTo(0, 0);
lineTo(100, 0);
lineTo(100, 10);
lineTo(0, 10);
lineTo(0, 0);
endFill();
_xscale = 0;
}
progressBar_mc.createEmptyMovieClip("stroke_mc", progressBar_mc.getNextHighestDepth());
with (progressBar_mc.stroke_mc) {
lineStyle(0, 0x000000);
moveTo(0, 0);
lineTo(100, 0);
lineTo(100, 10);
lineTo(0, 10);
lineTo(0, 0);
}
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);
}
}
Hat jemand eine Idee, wie ich das machen könnte?