Folge dem Video um zu sehen, wie unsere Website als Web-App auf dem Startbildschirm installiert werden kann.
Anmerkung: Diese Funktion ist in einigen Browsern möglicherweise nicht verfügbar.
MP3- und FLV-Dateien vorausladen
Um MP3- und FLV-Dateien vorauszuladen, können Sie mit der setInterval()-Funktion eine Art Abfragemechanismus erstellen, mit dem die für ein Sound- oder NetStream-Objekt geladenen Byte in zuvor bestimmten Intervallen überprüft werden. Mit den Methoden Sound.getBytesLoaded() und Sound.getBytesTotal() können Sie den Ladefortschritt von MP3-Dateien verfolgen. Mit den Eigenschaften NetStream.bytesLoaded und NetStream.bytesTotal können Sie den Ladefortschritt von FLV-Dateien verfolgen.
Im folgenden Beispielcode wird mit setInterval() die Anzahl der geladenen Byte für ein Sound- oder NetStream-Objekt in zuvor bestimmten Intervallen überprüft.
PHP:// Neues Sound-Objekt für die Sound-Wiedergabe erstellen. var songTrack = new Sound(); // Die Abfragefunktion erstellen, die den Ladefortschritt verfolgt. // Dies ist die Funktion, die "abgefragt" wird. Sie überprüft // den Ladefortschritt des als Verweis übergebenen Sound-Objekts. checkProgress = function (soundObj) { var bytesLoaded = soundObj.getBytesLoaded(); var bytesTotal = soundObj.getBytesTotal(); var percentLoaded = Math.floor(bytesLoaded/bytesTotal * 100); trace("%" + percentLoaded + " geladen."); } // Intervallabruf nach dem beendeten Ladevorgang löschen. songTrack.onLoad = function () { clearInterval(poll); } // Streaming-MP3-Datei laden und Aufruf von checkProgress() starten songTrack.loadSound("beethoven.mp3", true); var poll = setInterval(checkProgress, 1000, songTrack);
Zum Laden externer FLV-Dateien können Sie dieselbe Abruftechnik verwenden. Mit den Eigenschaften NetStream.bytesLoaded und NetStream.bytesTotal erhalten Sie die Gesamtzahl von Byte und die bisher geladenen Byte für eine FLV-Datei.
FLV-Dateien können auch mit der NetStream.setBufferTime()-Methode vorausgeladen werden. Diese Methode erwartet einen einzigen Parameter, der angibt, wie viele Sekunden verbleiben, bis der zu ladende FLV-Stream wiedergegeben wird.
Vielleicht möglich, aber wahrscheinlich unnötig aufwändig. Du könntest versuchen, den FLV-Stream vorzuladen, bevor die Mediakomponente angezeigt wird, in der Hoffnung, dass sich diese dann die Daten aus dem Cache holt (ungetestet). Was sollte das aber bringen? Der Vorteil von FLV-Streams ist ja grade, dass die Wiedergabe beginnnt, wärend noch Daten heruntergeladen werden. Ohne zumindest fortgeschrittene AS-Kentnisse würde ich Dir von so etwas sowieso abraten. Sollte diese Komponente nicht selbstständig einen Fortschrittsbalken o.ä. anzeigen (sorry, ich arbeite nicht mit den vorgefertigten Komponenten )?Ist das denn überhaupt möglich, wenn ich eine Media-Controller-Komponente habe davor einen Preloader zu bauen?