| |||||||
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: Jan 2008
Beiträge: 7
|
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"); |
| | |
| | #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 |
| | |
| | #4 (permalink) |
| Neuer User Registriert seit: Jan 2008
Beiträge: 7
|
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 |
| | |
| | #5 (permalink) |
| Neuer User 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);
} 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); 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. |
| | |
| | #6 (permalink) |
| Neuer User Registriert seit: Jan 2008
Beiträge: 7
|
Die letzte Zeile sollte heissen Code: myCon.connect("container");
__________________ www.active-media-production.de |
| | |
| | #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 |
| | |
| | #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 |
| | |
| | #11 (permalink) |
| Neuer User 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 !!
|
| | |
| | #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 |
| | |
| | #13 (permalink) |
| Neuer User 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 :-(
|
| | |
![]() |
| Lesezeichen |
| Themen-Optionen | |
| Ansicht | |
| |