Zurück   Flashforum > Flash > ActionScript > ActionScript 3

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 13-01-2012, 22:03   #1 (permalink)
Neuer User
 
Benutzerbild von edomir111111
 
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)
edomir111111 ist offline   Mit Zitat antworten
Alt 15-01-2012, 22:35   #2 (permalink)
Neuer User
 
Benutzerbild von edomir111111
 
Registriert seit: Jun 2011
Ort: nähe Göttingen
Beiträge: 13
Thumbs up ...gelöst

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;
}
}
...
...
...
Funktioniert tadellos.
Mir selber auf die Schultern klopf und mein Selbstgespräch hier beende.
edomir111111 ist offline   Mit Zitat antworten
Antwort

Lesezeichen

Stichworte
fortschrittsbalken, ladebalken, netstream

Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks sind an
Pingbacks sind an
Refbacks sind an


Ä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


Alle Zeitangaben in WEZ +1. Es ist jetzt 11:53 Uhr.

Domains, Webhosting & Vserver von Host Europe
Unterstützt das Flashforum!
Adobe User Group


Copyright ©1999 – 2012 Marc Thiele