Wenn eine Sound- oder Videodatei wiedergegeben wird, während die Daten noch geladen werden, wird dies als
Streaming
bezeichnet. Von einem Remote-Server geladene externe Sounddateien werden häufig gestreamt, sodass der Benutzer nicht warten muss, bis alle Sounddaten geladen sind, bevor ein Sound wiedergegeben werden kann.
Die
SoundMixer.bufferTime
-Eigenschaft steht für die Anzahl an Millisekunden der Sounddaten, die Flash Player oder AIR abrufen muss, bevor der Sound wiedergegeben wird. Anders ausgedrückt, wenn die
bufferTime
-Eigenschaft auf 5000 eingestellt ist, lädt Flash Player bzw. AIR mindestens 5000 Millisekunden lang Daten aus der Sounddatei, bevor die Wiedergabe des Sounds beginnt. Der Standardwert für die
SoundMixer.bufferTime
-Eigenschaft beträgt 1000.
Ihre Anwendung kann den globalen
SoundMixer.bufferTime
-Wert für einen bestimmten Sound außer Kraft setzen, indem Sie beim Laden des Sounds explizit einen neuen
bufferTime
-Wert angeben. Um die standardmäßige Pufferzeit außer Kraft zu setzen, erstellen Sie zunächst eine neue Instanz der SoundLoaderContext-Klasse, stellen ihre
bufferTime
-Eigenschaft ein und übergeben sie dann als einen Parameter an die
Sound.load()
-Methode. Dies wird im folgenden Code gezeigt:
import flash.media.Sound;
import flash.media.SoundLoaderContext;
import flash.net.URLRequest;
var s:Sound = new Sound();
var req:URLRequest = new URLRequest("bigSound.mp3");
var context:SoundLoaderContext = new SoundLoaderContext(8000, true);
s.load(req, context);
s.play();
Während der Sound wiedergegeben wird, versuchen Flash Player und AIR den Soundpuffer gleich groß oder größer zu halten. Wenn die Sounddaten schneller geladen als wiedergegeben werden, erfolgt die Wiedergabe unterbrechungsfrei. Wenn jedoch die Daten aufgrund von Netzwerkeinschränkungen langsamer geladen werden, könnte der Abspielkopf das Ende des Soundpuffers erreichen. In diesem Fall wird die Wiedergabe unterbrochen und automatisch fortgesetzt, sobald mehr Sounddaten geladen wurden.
Um herauszufinden, ob die Wiedergabe unterbrochen wurde, da Flash Player bzw. AIR auf Daten wartet, verwenden Sie die
Sound.isBuffering
-Eigenschaft.