Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 25-01-2008, 16:44   #1 (permalink)
Neuer User
 
Registriert seit: Jan 2008
Beiträge: 7
Unhappy LocalConection Problem bim an verzweifeln.

Hallo erst einmal,

ich will mir ein kleinen MP3 Player bauen, welcher beim Klick auf den Startbutten einen Streaming-Sound läd und abspielt. Dieser Player soll dann später auf der Webseite mehrfach für das Vorhören von Musik eingebaut werden.

Wenn nun ein Besucher einen Player startet, und danach einen weiteren startet, soll der erste Player das Abspielen wieder stoppen.

Ich verwende dazu das LocalConnectio-Objekt. Leider funktioniert das ganze komischer Weise immer nur jedes 2te mal. Also der erste wird vom 2ten gestoppt, der wiederum nicht vom 3ten aber der 3 wird wieder vom 4ten gestoppt usw.

Wo liegt mein Problem ich bin hier schon am verzweifeln??

Damit die Player alle auch eindeutig identifizierbar sind, vergebe ich auf der root-Ebene eine eindeutige ID.
Code:
	myCon = new LocalConnection();
	myCon.StopPlay = function(wert){
		if (wert <> _global.timestamp) {
			this.close();
			_root.test2 = "STOP-"+ wert;
			_global.Behaviors.Sound.Sound1.stop();
			_global.Behaviors.Sound.Sound2.stop();
			gotoAndStop(1);
		}
	}     

	myCon.send("PrimeStopPlay","StopPlay",_global.timestamp); 
	myCon.connect("PrimeStopPlay");
PowerMan74 ist offline   Mit Zitat antworten
Alt 25-01-2008, 17:28   #2 (permalink)
Der Wunderhund
 
Benutzerbild von gaspode
 
Registriert seit: Jun 2002
Ort: Hattingen
Beiträge: 10.515
Ist wahrscheinlich nicht der Fehler,
aber was soll eigentlich <> sein?

Ungleich ist seit Flash 5 schon !=

gruß, gaspode
gaspode ist offline   Mit Zitat antworten
Alt 25-01-2008, 17:44   #3 (permalink)
Neuer User
 
Registriert seit: Jan 2008
Beiträge: 7
Ja das ist richtig, ich hatte vorher != und dachte, das es vieleicht daran liegt, aber fehlanzeige. Der ganze Quellcode oben liegt zusammen mit den Ladeanweisungen für den Sound innerhalb einer "on (release)" Anweisung.

Hier ein Beispiel wie ich das meine:
http://www.clubload.de/shopserver/Ac...=1147376919399
__________________
www.active-media-production.de
PowerMan74 ist offline   Mit Zitat antworten
Alt 28-01-2008, 12:14   #4 (permalink)
Neuer User
 
Registriert seit: Jan 2008
Beiträge: 7
Cool

So ich hab das Problem jetzt erkannt und behoben.

Zur Erklährung für alle die ein ähnliches Problem haben. Als erstes sende ich die ID des Players an dem Play gedrückt wird. Anschließende definiere ich die Funktion, welche für das Stoopen zuständig ist und connecte zur LocalConnection.

In der Funktion stoppe ich das Abspielen des Sund und schliesse die Verbindung.

Soweit so gut ... vom rein logischen müßte das funktionieren. Tut es ja eigendlich auch. Das eigendliche Problem liegt in der Zeitverzögerung, welche bei der Übertragung per LocalConnection auftritt.

Durch diese Verzögerung ist die bestehende Verbindung mit dem Verbindungsnamen "PrimeStopPlay" immer noch geöffnet wenn ich das neue LocalConnection-Objekt starte.
Die Lösung für dieses Problem ist also einfach nur das neue LocalConnection-Objekt verzögert zu starten, so das das alte genügend Zeit hat sich zu beenden.

Code:
	// Daten mit anderen Flash-Film austauschen um Alle Player zu stoppen
	mySender = new LocalConnection();
	mySender.send("PrimeStopPlay","StopPlay",_global.timestamp); 
	mySender.close;
	delete mySender;


	// Datem empfangen
	setTimeout(DatenEnpfang,200,""); 
	function DatenEnpfang(mes:String){ 
		myCon = new LocalConnection();
		myCon.StopPlay = function(wert){
			if (wert != _global.timestamp) {
				this.close();
				_global.Behaviors.Sound.Sound1.stop();
				gotoAndStop(1);
			}
		}     
		myCon.connect("PrimeStopPlay");
		gotoAndStop(2);
	}
__________________
www.active-media-production.de
PowerMan74 ist offline   Mit Zitat antworten
Alt 27-02-2008, 11:08   #5 (permalink)
Neuer User
 
Benutzerbild von sirclueless
 
Registriert seit: Nov 2001
Ort: Deutschland
Beiträge: 30
Problem

Also ich habe folgendes Skript bei dem Sender eingegeben:
Code:
on (press) {
	Verbindung = new LocalConnection();
	Verbindung.send("container", "getData");
	Verbindung.close();
	gotoAndStop(1);
}
Da soll sobald ich auf den Button drücke die Verbindung hergestellt werden und die Funktion getData aufgerufen werden. Das ganze soll bewirken das beim empfänger ein Random Bild aus einem Movieclip aufgerufen werden soll.

Mein Empfänger sieht so aus :

Code:
myCon = new LocalConnection();
myCon.getData = function() {

mc_zitate.gotoAndStop(Math.ceil(Math.random()* mc_zitate.totalFrames));
gotoAndStop(1);	
};
Verbindung.connect("container");
gotoAndStop(1);
Leider funktioniert das irgendwie nicht :-( Und ich bekomme schon folgenden Fehler im Compiler:
1120: Zugriff auf eine nicht definierte Eigenschaft myCon.
1120: Zugriff auf eine nicht definierte Eigenschaft myCon.
1120: Zugriff auf eine nicht definierte Eigenschaft Verbindung.

Weiss da jemand zufällig weiter?? Bin Flashanfänger.
sirclueless ist offline   Mit Zitat antworten
Alt 27-02-2008, 12:20   #6 (permalink)
Neuer User
 
Registriert seit: Jan 2008
Beiträge: 7
Die letzte Zeile sollte heissen
Code:
myCon.connect("container");
weil dein Objekt aus diesem Skript soll ja auf das LocalConnection Objekt zugreifen. Der Objektname aus dem anderen Flash-Film ist ja nicht bekannt.
__________________
www.active-media-production.de
PowerMan74 ist offline   Mit Zitat antworten
Alt 27-02-2008, 12:50   #7 (permalink)
Neuer User
 
Benutzerbild von sirclueless
 
Registriert seit: Nov 2001
Ort: Deutschland
Beiträge: 30
Das habe ich auch bemerkt :-( Habe es auch so wie du gesagt hast geändert . Bekomme aber eiterhin die Compilerfehler und es funktioniert immernoch nicht!!
sirclueless ist offline   Mit Zitat antworten
Alt 27-02-2008, 13:11   #8 (permalink)
Neuer User
 
Registriert seit: Jan 2008
Beiträge: 7
Sollte aber eigendlich funktionieren, vieleicht liegt es daran, das du keinen Wert mit übergibst?? Bau doch mal die Function so um, dass du einen Pseudwert übergibst. Typ BOL oder so.
Code:
on (press) {
	Verbindung = new LocalConnection();
	Verbindung.send("container", "getData", true);
	Verbindung.close();
	gotoAndStop(1);
}
Code:
myCon = new LocalConnection();
myCon.getData = function($wert) {
	mc_zitate.gotoAndStop(Math.ceil(Math.random()* mc_zitate.totalFrames));
	gotoAndStop(1);	
};
myCon.connect("container");
gotoAndStop(1);
__________________
www.active-media-production.de
PowerMan74 ist offline   Mit Zitat antworten
Alt 27-02-2008, 14:00   #9 (permalink)
Neuer User
 
Benutzerbild von sirclueless
 
Registriert seit: Nov 2001
Ort: Deutschland
Beiträge: 30
Habe ich jetzt mal versucht. Nützt aber nichts !! Kommen immernoch die selben Compilerfehlermeldungen wie vorher. "Zugriff auf eine nicht definierte Eigenschaft myCon :-(
sirclueless ist offline   Mit Zitat antworten
Alt 27-02-2008, 14:31   #10 (permalink)
Neuer User
 
Registriert seit: Jan 2008
Beiträge: 7
Was nutzt du da für ne Flash Version ??? bzw ActionSkript Version ?? vieleicht liegt es ja daran ?? Ich hatte das ganze Mit CS3 gemacht. Exporteinstellungen: Version Flash Player9, ActionSkript 2.0
__________________
www.active-media-production.de
PowerMan74 ist offline   Mit Zitat antworten
Alt 27-02-2008, 15:01   #11 (permalink)
Neuer User
 
Benutzerbild von sirclueless
 
Registriert seit: Nov 2001
Ort: Deutschland
Beiträge: 30
Habe das ganze jetzt auch so abgespeichert bzw. exportiert!! Die Fehlermeldung ist nicht mehr da. Aber leider laufen die Bilder im schnelldurchlauf durch anstatt das das random Bild stehen bleibt !!
sirclueless ist offline   Mit Zitat antworten
Alt 27-02-2008, 16:12   #12 (permalink)
Neuer User
 
Registriert seit: Jan 2008
Beiträge: 7
Dann würde ich das so machen, das du einen Timestamp sendest.
Und innerhalb der funktion im Empfänger nur dann den Code abarbeitest, wenn sich der Timestamp verändert hat.
__________________
www.active-media-production.de
PowerMan74 ist offline   Mit Zitat antworten
Alt 28-02-2008, 07:05   #13 (permalink)
Neuer User
 
Benutzerbild von sirclueless
 
Registriert seit: Nov 2001
Ort: Deutschland
Beiträge: 30
Hmmm ! Wie gesagt bin da Flashanfänger. Timestamp sagt mir jetzt nichts und ich weiss ja auch nicht ob das jetzt mit der LocalConnection funktioniert, da die Bilder schon direkt von anfang an nur am durchlaufen sind :-(
sirclueless ist offline   Mit Zitat antworten
Antwort

Lesezeichen

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



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

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


Copyright ©1999 – 2012 Marc Thiele