Flashplayer erstellen

Hallo liebe Leute,

Ich soll einen Flashplayer erstellen/finden welcher im Hintergrund „buffert“ aber keine Wiedergabeleiste/Ladeleiste/Suchleiste und keinen Play-button hat.
Es sollte in action-script 3 programmiert sein, da dies ja flexibler ist! Die Grösse des zu buffernden Videos ist 800x2530! Gibt es da irgendwelche Tutorials oder ein geeignetes Programm?
Ich bitte euch, um recht einfach gehaltene Antworten, da ich mich erst seit Heute mit diesem Thema beschäftige!
Danke euch schon im Voraus für brauchbare Antworten. =)

MfG Battlex

Hallo hallo. Als erstes solltest du dich mit Adobe Flash CS4/5 auskennen.

Ich hab ein paar Fragen, dann schreibe ich dir ein Script welches du dann benutzen kannst für den Player.

Soll das Video eine Funktion ausführen nach dem durchspielen?

Soll es automatisch starten?

Wo genau soll es positioniert sein.

Das einzig geeignete Programm ist Adobe Flash CS4/5 da hier alle AS3 Funktionen erhalten sind.
Ich kann dein gewünschtes Script sofort für dich schreiben wenn du mir die Fragen beantwortest.

Mfg, whe-shong

Hallo whe-shong

Nach einer Suche im I-Net habe ich ein Skript gefunden:

http://as3.metah.ch/video-tutorial.php?flvURL=http:/…

Nachdem ich diesen Skript abgschrieben habe und den Anweisungen gefolgt bin bot sich mir folgendes Problem:

Fehler: 1037 Pakete dürfen nicht verschachtelt werden!

Wo liegt mein Fehler??? Der ersten Datei habe ich die Klasse „Main“ hinzugefügt! Hier noch der Skript den ich geschrieben habe:

In der Datei „simpleFlv.fla“

package{
import flash.display.Sprite;
import flash.net.NetConnection;
import flash.net.NetStream;
import flash.media.Video;
import flash.text.TextFieldAutoSize;
import flash.text.TextField;
import flash.events.Event;
import flash.events.TimerEvent;
import flash.events.NetStatusEvent;
import flash.utils.Timer;

public class simpleFlv extends Sprite{
private var _video:Video;
private var _stream:NetStream;
private var _playbackTime:TextField;
private var _duration:uint;
private var _timer:Timer;

public function simpleFlv(){
_duration = 0;

_playbackTime = new TextField();
_playbackTime.autoSize = TextFieldAutoSize.LEFT;
_playbackTime.y = 20;
_playbackTime.x = 20;
_playbackTime.text = „Buffering _“;

_timer = new Timer(1000);
_timer.addEventListener(TimerEvent.TIMER, onTimer);
}

public function playMyFlv(flvUrl){
_video = new Video();

var connection:NetConnection = new NetConnection();
connection.connect(null);

_stream = new NetStream(connection);
_stream.play(flvUrl);

var Client:open_mouth:bject = new Object();
Client.onMetaData = onMetaData;
_stream.client = Client;
_video.attachNetStream(_stream);

_stream.addEventListener(NetStatusEvent.NET_STATUS, onNetStatus);

addChild(_video);
addChild(_playbackTime);
}

private function onMetaData(data:open_mouth:bject){
_duration = data.duration;
}

private function onNetStatus(e:NetStatusEvent){
_video.width = _video.videoWidth;
_video.height = _video.videoHeight;
}

private function onTimer(t:TimerEvent){
if( _duration > 0 && _stream.time > 0 ){
_playbackTime.text = Math.round(_stream.time) + " / " + Math.round(_duration);
}
}
}
}

________________________________________
In der Datei „Main.fla“

package
{
import flash.display.Sprite;

public class Main extends Sprite{
public function Main(){
var v:Sprite = new simpleFlv();
v.playMyFlv(„Curtains open V3 FLV Data (1).flv“);
addChild(v);
}
}
}
_______________________________________________

Gemäss Adobe Flash Professional CS5 befindet sich der Fehler in der 2. Datei!

Zu deinen Fragen:

Ja es sollte automatisch starten! Nach dem Durchspielen, soll es automatisch geschlossen werden! Und von der Positionierung her: Sollte zentriert und wie schon gesagt 800x2530 problemlos ‚buffern‘ können!

Später wird es in eine Website eingebunden, in welcher es bei der dem Aufruf der Seite automatisch abspielt.

MfG Battlex

Ja ich verstehe nicht wieso du ein alles mit Package anfängst, das macht wenig Sinn, wieso verschachtelst du es?

Wie dem auch sei. Ich hab ein NetStream Skript für dich geschrieben. Folgendes: Erstelle einen Ordner wo du eine leere Flash Datei rein speicherst oder wo auch immer du deine Datei speicherst. Das Video soll: „Comp“ heißen. Ohne Anführungszeichen. Und das Video muss eine .flv Datei sein, aber dass weißt du sicher schon.

Die .flv Datei die „Comp“ heißt muss im selben Ordner wie die Flash Datei gespeichert sein.

In der Flash Datei, stell die Bühne auf 800x2530px

Dann weißt du ja wie man auf der Bühne, in der Timeline in die AktionenSparte gelangt. Dort fügst du dieses Skript ein. Stelle sicher das die .fla und .flv Dateien im richtigen Ordner gespeichert sind.

var customClient:open_mouth:bject = new Object();
customClient.onCuePoint = cuePointHandler;
customClient.onMetaData = metaDataHandler;

var myVideo:Video = new Video();
addChild(myVideo);
myVideo.width = 800;
myVideo.height = 2530;
myVideo.x = 0;
myVideo.y = 0;
var nc:NetConnection = new NetConnection();
nc.connect(null);
var ns:NetStream = new NetStream(nc);
ns.client = customClient;
myVideo.attachNetStream(ns);
ns.play(„Comp.flv“);

function cuePointHandler(infoObject:open_mouth:bject):void
{
trace(„cuePoint“);
}

function metaDataHandler(infoObject:open_mouth:bject):void
{
trace(„metaData“);
}

ns.addEventListener(NetStatusEvent.NET_STATUS, onStatusEvent);

function onStatusEvent(infoObject:open_mouth:bject):void {

if (infoObject.info.code==„NetStream.Play.StreamNotFound“) {

trace(„Not Found“);

} else if (infoObject.info.code == „NetStream.Buffer.Full“) {

trace(„Video spielt ab“);

} else if (infoObject.info.code == „NetStream.Play.Stop“) {

trace( „Ende“);
ns.close();
myVideo.visible = false;
}

}

Hallo,

Danke vielmals für deine Hilfe! Kennst du zufälligerweise ein Tutorial, mit dem man die Grundlagen lernen kann? Ich möchte nämlich tiefer in diese Skript-Sprache eindringen. Ich lerne zurzeit HTML, CSS, PHP usw. und kann diese bereits anwenden. Wie mir aufgefallen ist ist Action-Script ein bisschen anders, und deswegen möchte ich mir ein Wissen in AS aufbauen!

MfG Battlex

Hat das Skript funktioniert? Es sollte eigentlich.

Nun ja, du möchtest AS lernen. Du könntest dir Seiten wie www.flash-forum.de oder www.gotoandlearn.com/ anschauen. Oder dir Bücher kaufen wie die „Actionscript Bible“ jedoch liegt es alles an deiner Ausdauer und Geduld und ich würde empfehlen, wie ich es bereits tue, Grafik Design zu studieren mit dem Schwerpunkt, Adobe Flash. So kannst du sicher gehen das du etwas lernst.

whe-shong

Hallo whe-shong

Na klar! Danke vielmals für deine Hilfe! Es funktioniert tadellos! Und es „buffert“ sogar auf der niedrigsten Daten-download-Rate perfekt, ohne das geringste stocken! Ich bin begeistert! Danke nochmal für das Skript! Ich werde mich in der nächsten Zeit mit AS 3.0 beschäftigen und werde es erlernen! Ich hoffe, dass ich sowas in ein paar Wochen auch selber machen kann!

Vielen Dank und MfG
Battlex

Das freut mich! Jo immer gerne.

Dann wünsche ich dir viel Erfolg für die Zukunft und
dass du auch solche Skripts bald schreibst.

whe-shong