on (release) : video ist sichtbar, bei myFilmAb.onPress = function() nicht sichtbar

flashmaus

Mitglied
hallo
es geht um Video einbinden
PHP:
on (release) {
...
};
hat funktioniert
PHP:
_root.myFilmAb.onPress = function() {
var netConn:NetConnection = new NetConnection();
netConn.connect(null);
var netStream:NetStream = new NetStream(netConn);
film.attachVideo(netStream);
netStream.setBufferTime(5);
netStream.play("mov_flv/mizzi_ohne_ton.flv");
mySound = new Sound();
mySound.attachSound("mizzi");
mySound.start(0, 1);
trace("netCon");
};
der Sound wird "attched" aber das Video sieht man nicht !
Der "trace" funktioniert komischerweise,
hat jemand einen Vorschlag was falsch ist ?
Es ist in beiden Fällen inhaltlich der gleiche Code unterscheidet sich nur durch "Buttonansprache"
 
Zuletzt bearbeitet von einem Moderator:
Hi,

da du keine Dateien oder urls gepostet hast, hier nur eine Theorie:

du registrierst das SoundObjekt nicht auf _root, sondern innerhalb deines Buttons, indem du innerhalb von '_root.myFilmAb' mySound.attachSound("mizzi"); sagst, und innerhalb deines Buttons einen MC film mit deinem Netstream belegen willst.

on (release) {
...
};
schaut sozusagen von oben herab auf dein Buttonobjekt, während

root.myFilmAb.on ....
von innen heraus agiert, weswegen dein Pointer im ersten Fall auf _root steht, im zweiten Fall aber auf root.myFilmAb, weswegen du im zweiten Fall sagen musst:

this._parent.film anstatt film.....

ich hoffe das war jetzt verständlich - klatsch einfach vor alle deine Deklaratiionen ein _root. davor, und alles wird gut...

Grüsse
B
 
danke erstmal
meinst du das jetzt so ?
PHP:
_root.myFilmAb.onPress = function() {
	var netConn:NetConnection = new NetConnection();
	netConn.connect(null);
	var netStream:NetStream = new NetStream(netConn);
	this._parent.film.attachVideo(netStream);
	netStream.setBufferTime(5);
	_root.netStream.play("mov_flv/mizzi_ohne_ton.flv");
	mySound = new Sound();
	mySound.attachSound("mizzi");
	mySound.start(0, 1);
	trace("netCon");
};
kein video zu sehen
oder hab ich dich falsch verstanden ?
 
Zuletzt bearbeitet von einem Moderator:
Hi,

nein du schon noch mehr ( alle Pfadangaben) :

this._parent.film.attachVideo(netStream); woher soll er denn auf dieser Ebene die variable netStream nehmen ?

also entweder:

this._parent.film.attachVideo(this.netStream);

oder du ersetzt alle Pfade in deinem Script erst einaml durch absolute Pfade, und gewinnst danach durch ausprobieren und überprüfen im Debugger ein Gefühl für die Verwendung relativer Pfade.

Wie gesagt ich stochere hier auch erst einmal blind so ohne Datei und kann dabei natürlich auch noch was übersehen...

Grüsse
B.
 
danke wieder
hab es nun so probiert
PHP:
_root.myFilmAb.onPress = function() {
	var netConn:NetConnection = new NetConnection();
	netConn.connect(null);
	var netStream:NetStream = new NetStream(netConn);
	_root.film.attachVideo(_root.netStream);
	_root.netStream.setBufferTime(5);
	_root.netStream.play("mov_flv/mizzi_ohne_ton.flv");
	mySound = new Sound();
	mySound.attachSound("mizzi");
	mySound.start(0, 1);
	trace(film);
};
weitere varianten: mal mit ...mal ohne...
es ist wie verhext: immer noch kein video.
der trace ist immer da (_level0.film), der sound auch, ABER kein video
 
Zuletzt bearbeitet von einem Moderator:
Hi,

wie gesagt, es ist ein bisschen schwierig so blind im Nebel zu stochern.

Versuch es doch einmal anders:
lege auf deinen Button einen einfachen Funktionsaufruf:

PHP:
_root.myFilmAb.onPress = function(){
_root.Videosteuerung();
}
Und auf _root, in der anzulegenden Funktion Videosteuerung pastest du den Code wie gehabt, dann funktioniert alles - es ist sowieso empfehlenswert, den auszuführenden Code getrennt von den Aufrufen zu deklarieren - das fördert die Wiederverwendbarkeit und die modulare Struktur deiner Filme......

Dein Vorhaben liesse sich aber schon umsetzen, allerdings deklarierst du im letzten Codefragment die var netConn immer noch IM Button und nicht auf _root. etc.... das ist alles viel zu durcheinander, und ich habe einfach keine Zeit, jetzt dein Beispiel nachzubauen....

Grüsse
B
 
hurrrrrraaaaaa
auf root:
PHP:
var netConn:NetConnection = new NetConnection();
netConn.connect(null);
var netStream:NetStream = new NetStream(netConn);

_root.myFilmAb.onPress = function() {
_root.film.attachVideo(_root.netStream);
	netStream.setBufferTime(5);
	netStream.play("mov_flv/mizzi_ohne_ton.flv");
	mySound = new Sound();
	mySound.attachSound("mizzi");
	mySound.start(0, 1);
};
nochmals Danke
zum Thema "durcheinander" kann ich dir nicht ganz folgen, da es in der Hilfe genauso angegeben ist
 
Zuletzt bearbeitet von einem Moderator:
hallo Basileus
zum Üben hab ich deinen Vorschlag von oben aufgenommen:
PHP:
function videosteuerung() {
	var netConn:NetConnection = new NetConnection();
	netConn.connect(null);
	var netStream:NetStream = new NetStream(netConn);
	_root.mein_video.attachVideo(_root.netStream);
	netStream.setBufferTime(5);
	netStream.play("videoFile.flv");
	trace("hallo netCon ist da");
}
_root.MyFilmAb.onPress = function() {
	_root.videosteuerung();
	trace("hallo videosteuerung ist da");
};
in die Traces komm ich rein, nur das flv seh ich nicht
alles liegt auf _root im ersten frame
3 ebenen:
ganz oben: code
darunter: video
darunter: button
danke nochmal
 
Zuletzt bearbeitet von einem Moderator:
Hi,

bin gerade selber an einem Videoprojekt, so das ich heute abend aml deine Sache aufnehmen werde, kann aber spät werden....

Grüsse
B
 
vielen Dank
hier noch mal die Varianten:
1. funktioniert nicht:
PHP:
// funktioniert so nicht
// erst wenn man variablen herausnimmt 
_root.MyFilmAb.onPress = function() {
	this._alpha = 50;
	var netConn:NetConnection = new NetConnection();
	netConn.connect(null);
	var netStream:NetStream = new NetStream(netConn);
	_root.mein_video.attachVideo(_root.netStream);
	netStream.setBufferTime(5);
	netStream.play("videoFile.flv");
	trace("hallo netCon ist da");
};
2. funktioniert nicht:
PHP:
function videosteuerung() {
	var netConn:NetConnection = new NetConnection();
	netConn.connect(null);
	var netStream:NetStream = new NetStream(netConn);
	_root.mein_video.attachVideo(_root.netStream);
	netStream.setBufferTime(5);
	netStream.play("videoFile.flv");
	trace("hallo netCon ist da");
}
_root.MyFilmAb.onPress = function() {
	_root.videosteuerung();
	trace("hallo videosteuerung ist da");
};
3. funktioniert: siehe unter 1
auf root:
PHP:
var netConn:NetConnection = new NetConnection();
netConn.connect(null);
var netStream:NetStream = new NetStream(netConn);
_root.myFilmAb.onPress = function() {
_root.mein_video.attachVideo(_root.netStream);
netStream.setBufferTime(5);
netStream.play("videoFile.flv");
};
mach Dir keinen Stress

ich denke, dass es ein Pfadproblem ist (so wie Du es schon vermutet hast) da dieTraces immer bedient werden. Hab aber mit _root und this herumexperimentiert und keinen klaren Zusammenhang gefunden

jedenfalls nochmals vielen Dank.
mir wäre daran gelegen, das alles zu verstehen
Gruss
 
Zuletzt bearbeitet von einem Moderator:

Neue Beiträge

Zurück