Verwenden von Streaming-Sounddateien

Flash Player 9 und höher, Adobe AIR 1.0 und höher

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.