| |||||||
Du magst keine Werbung? Wir auch nicht!
Einfach registrieren und die Werbung ist weg. Diese Nachricht sehen nur nicht registrierte Nutzer.
![]() |
| | LinkBack | Themen-Optionen | Ansicht |
| | #1 (permalink) |
| Neuer User Registriert seit: Jun 2011 Ort: nähe Göttingen
Beiträge: 13
| Ladebalken für netstream Video
Liebe Forums-Gemeinde, sie nervt euch schon wieder. Ich bin einfach zu dumm, in meinen Videoplayer, der per NetStream ein Video abspielt, einen Fortschrittsbalken für die abgelaufene Spieldauer und für den Ladestatus einzubauen. So, dass der Betrachter an je an einem Balken sehen kann, wie weit das Video schon abgelaufen ist und sehen kann, wieviel von dem Video schon gebuffert ist. Könnte mir jemand von Euch mal einen Code-Schnipsel basteln, mit dem ich das bewerkstelligen kann? Ich weiss, es ist nen bischen dreist, andere nach nen Code zu fragen, aber ich komme wirklich überhauptnicht klar. Selbst alle Tipps aus den Suchergebnissen, verwirren mich nur. Hier mal der (glaube ich) wichtigste Abschnitt aus meinem Code Code: sound_on_btn.visible = false;
var nc:NetConnection = new NetConnection();
nc.connect(null);
var ns:NetStream = new NetStream(nc);
ns.bufferTime = 10;
ns.addEventListener(AsyncErrorEvent.ASYNC_ERROR, asyncErrorHandler);
ns.play("video.flv");
function asyncErrorHandler(event:AsyncErrorEvent):void
{
// ignore error
}
var vid:Video = new Video(871,488);
vid.x = 51;
vid.y = 47;
vid.attachNetStream(ns);
addChild(vid);
ns.addEventListener(NetStatusEvent.NET_STATUS, onStatusEvent);
function onStatusEvent(infoObject:Object):void {
if (infoObject.info.code=="NetStream.Play.StreamNotFound") {
ausgabe2.text = "Video kann nicht geladen werden!";
} else if (infoObject.info.code == "NetStream.Buffer.Full") {
trace("Running");
} else if (infoObject.info.code == "NetStream.Play.Stop") {
ns.pause(); //für sprung nach ende zum anfang
ns.seek(0); //für sprung nach ende zum anfang
}
}
var st:SoundTransform;
st = new SoundTransform(5);
SoundMixer.soundTransform = st;
var customClient:Object = new Object(); // neues Objekt für die Meldungen
ns.client = customClient;
// Metadaten
customClient.onMetaData = function(meta:Object)
{
trace("Dauer des Videos: " + meta.duration);
trace("Breite des Videos: " + meta.width);
trace("Hoehe des Videos: " + meta.height);
trace("Framerate des Videos: " + meta.framerate);
};
// Statusmeldungen
ns.addEventListener(NetStatusEvent.NET_STATUS, statusmeldungen);
function statusmeldungen(meldungen:Object)
{
trace("Statusmeldung :::: " + meldungen.info.code);
};
// Cue-Points
customClient.onCuePoint = function(cp:Object)
{
trace("Cue-Point Name: " + cp.name + " // Typ: " + cp.type + " // Zeitpunkt: " + cp.time);
};
import flash.utils.Timer;
import flash.events.TimerEvent;
var myTimer:Timer = new Timer(200); // Update intervall
myTimer.addEventListener("timer", updateDisplay);
myTimer.start();
// ::: Date :::
var vidTime:Date;
function updateDisplay(event:TimerEvent):void {
vidTime = new Date(2011, 0, 1 , 0, 0, ns.time);
if (vidTime.getSeconds() <10) {
ausgabe.text = vidTime.getMinutes() + ":0" + vidTime.getSeconds();
}
else {
ausgabe.text = vidTime.getMinutes() + ":" + vidTime.getSeconds();
};
}
..................
..................
...... hier folgt dann noch der code für die button und optische spielerein etc.
...................
................... Vielen Dank im vorraus an alle Helfer. Und......Danke an allle, die mir bisher immer super geholfen haben. L.G. Katy Geändert von edomir111111 (13-01-2012 um 23:34 Uhr) |
| | |
| | #2 (permalink) |
| Neuer User Registriert seit: Jun 2011 Ort: nähe Göttingen
Beiträge: 13
|
Habe es selbst hinbekommen. Habe jetzt mit einem veränderten Code die MetaDaten ausgelesen und den Fortschrittsbalken mit einer Länge von150 Px, für die abgespielte Zeit wie folgt gecodet: Code: ...
...
...
stage.addEventListener(Event.ENTER_FRAME, enterFrame);
var xOffset:Number;var xMin:Number = 0;
var xMax:Number = 150;
var totalLength:uint; function theMeta(data:Object):void
{
totalLength = data.duration;
}
function enterFrame(e:Event):void
{
var currentSecs:Number = Math.floor(ns.time);
var totalSecs:Number = Math.round(totalLength);
if(currentSecs > 0)
{
var amountPlayed:Number = ns.time / totalLength;
var amountLoaded:Number = ns.bytesLoaded / ns.bytesTotal;
foba.width = ns.time / totalLength * 150;
}
}
...
...
... Mir selber auf die Schultern klopf und mein Selbstgespräch hier beende. |
| | |
![]() |
| Lesezeichen |
| Stichworte |
| fortschrittsbalken, ladebalken, netstream |
| Themen-Optionen | |
| Ansicht | |
| |
Ähnliche Themen | ||||
| Thema | Autor | Forum | Antworten | Letzter Beitrag |
| video per netstream laden - sound zu hören, video aber nicht zu sehen :/ | kharn | ActionScript 2 | 2 | 11-08-2009 00:43 |
| Kopie von Video/Netstream | padavan | ActionScript 3 | 0 | 09-03-2009 21:25 |
| Video NetStream - bufferTime | pimsn | ActionScript 3 | 3 | 25-02-2009 14:01 |
| netStream Video mit skin | jimihendrix | Flash Einsteiger | 1 | 24-04-2008 10:55 |
| Netstream Video - peak ? | schwaigerf | ActionScript 3 | 0 | 07-12-2007 12:56 |