duration (Sound.duration-Eigenschaft)

public duration : Number [schreibgeschützt]

Dauer des Sounds in Millisekunden.

Hinweis: In Flash Lite 2.0 wird diese Eigenschaft nur für nativen Flash-Sound unterstützt. Hostgerätspezifische Soundformate werden nicht unterstützt.

Verfügbarkeit: ActionScript 1.0, Flash Lite 2.0

Beispiel

Im folgenden Beispiel wird ein Sound geladen und die Dauer der Sounddatei im Bedienfeld Ausgabe angezeigt. Fügen Sie der FLA- oder AS-Datei den folgenden ActionScript-Code hinzu:

var my_sound:Sound = new Sound();
my_sound.onLoad = function(success:Boolean) {
    var totalSeconds:Number = this.duration/1000;
    trace(this.duration+" ms ("+Math.round(totalSeconds)+" seconds)");
    var minutes:Number = Math.floor(totalSeconds/60);
    var seconds = Math.floor(totalSeconds)%60;
    if (seconds<10) {
    seconds = "0"+seconds;
    }
    trace(minutes+":"+seconds);
};
my_sound.loadSound("song1.mp3", true);

Im folgenden Beispiel werden mehrere Musiktitel in eine SWF-Datei geladen. Eine mit der Drawing-API erstellte Fortschrittleiste zeigt den Ladevorgang an. Wenn der Ladevorgang der Musik gestartet und beendet wird, werden im Bedienfeld Ausgabe Informationen angezeigt. Wenn der Ladevorgang der Musik gestartet und beendet wird, werden entsprechende Informationen in die Protokolldatei geschrieben. Fügen Sie der FLA- oder AS-Datei den folgenden ActionScript-Code hinzu:

var pb_height:Number = 10;
var pb_width:Number = 100;
var pb:MovieClip = this.createEmptyMovieClip("progressBar_mc", this.getNextHighestDepth());
pb.createEmptyMovieClip("bar_mc", pb.getNextHighestDepth());
pb.createEmptyMovieClip("vBar_mc", pb.getNextHighestDepth());
pb.createEmptyMovieClip("stroke_mc", pb.getNextHighestDepth());
pb.createTextField("pos_txt", pb.getNextHighestDepth(), 0, pb_height, pb_width, 22);

pb._x = 100;
pb._y = 100;

with (pb.bar_mc) {
    beginFill(0x00FF00);
    moveTo(0, 0);
    lineTo(pb_width, 0);
    lineTo(pb_width, pb_height);
    lineTo(0, pb_height);
    lineTo(0, 0);
    endFill();
    _xscale = 0;
}
with (pb.vBar_mc) {
    lineStyle(1, 0x000000);
    moveTo(0, 0);
    lineTo(0, pb_height);
}
with (pb.stroke_mc) {
    lineStyle(3, 0x000000);
    moveTo(0, 0);
    lineTo(pb_width, 0);
    lineTo(pb_width, pb_height);
    lineTo(0, pb_height);
    lineTo(0, 0);
}

var my_interval:Number;
var my_sound:Sound = new Sound();
my_sound.onLoad = function(success:Boolean) {
    if (success) {
    trace("sound loaded");
    }
};
my_sound.onSoundComplete = function() {
    clearInterval(my_interval);
    trace("Cleared interval");
}
my_sound.loadSound("song3.mp3", true);
my_interval = setInterval(updateProgressBar, 100, my_sound);

function updateProgressBar(the_sound:Sound):Void {
    var pos:Number = Math.round(the_sound.position/the_sound.duration 100);
    pb.bar_mc._xscale = pos;
    pb.vBar_mc._x = pb.bar_mc._width;
    pb.pos_txt.text = pos+"%";
}

Siehe auch

position (Sound.position-Eigenschaft)