Zurück   Flashforum > Flash > Flash Einsteiger

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 27-04-2006, 14:08   #1 (permalink)
Rookie
 
Benutzerbild von der-klang
 
Registriert seit: Apr 2006
Ort: Frankfurt
Beiträge: 73
Soundplayer mit flashn PHP Site?!

Hallo an alle,

habe ein Problem mit der Einbindung eines Soundplayers in meine PHP-Site, da der Flashpayer innerhalp des PHP-Sourcecodes ist und damit bei jedem Mouseclick neu gestartet wird und etwas nervenderes kann man sich kaum vorstellen ...
nach langem hin und her bin ich zu dem schluss gekommen den eigentlichen Player quasi unsichbar in einem Frame unterzubringen (denke ich am elegantesten) allerdings soll aus layouttechnischen Gründen die GUI weiterhin im PHP Code bleiben.
Heisst, es läuft darauf hinaus Variablen aus der GUI frameübergreifend an den Player zu übergeben und dort abzufangen und "aktionen" zuzuweisen.
mit if else oder so ?
weiterhin gibt es in einem Content-fenster in der mitte in dem weitere musikfiles angeboten werden. diese sollen bei Start einen vorhandenen BG Sound logischerweise stoppen. ich denke das diese am besten als externe swf mit onload eingebunden werden, da man dann auch einen ladevorgang graphisch anzeigen könnte wie bei nem preloader.

DIe GUI besteht aus einem Play, einen Stop Button, 5 Buttons zu Auswahl des BG Sound und einem Volume-Slider.

Wie mache ich das am Besten?
Geht das so überhaupt?

Vielleicht könnte mir jemand ein paar exemplarische Codefragemente für die einzelnen Stellen in denen AS eingebunden werden muss posten aus denen ich mir adaptierend ein Code zusammenschustern kann (bin optimist).
Sprich: in die hzl des players muss "..." stehen. die buttons brauchen ne code der so "..." aussieht....
nach nem fertigen Code will ich gar nicht fragen, weil

1. zu dreist !!!
2. bin ich lernwillig auch wenn flash tricky ist...


Für den Fall das jemand Bock hat doch ein fertiges Script anzubieten habe ich vielleicht ja etwas im Gegenzug anzubieten im Sinne von "Eine Hand wäscht die Andere", aber das bleibt dem jenigen überlassen und ich bin erstmal für jede sinnvolle Hilfe dankbar.
der-klang ist offline   Mit Zitat antworten
Alt 27-04-2006, 15:37   #2 (permalink)
-
 
Registriert seit: Jul 2003
Beiträge: 714
Zitat:
Zitat von der-klang
... weitere musikfiles ... externe swf ...
Geht gut, dann benachrichtest du über die LocalConnection Klassen (F1 drücken) den SoundPlayer das er stoppen soll.

Zitat:
Zitat von der-klang
DIe GUI besteht aus einem Play, einen Stop Button, 5 Buttons zu Auswahl des BG Sound und einem Volume-Slider.
Ist die "GUI" auch mit Flash realisiert oder mit Javascript?

Wenn mit Flash, dann kannst du wieder über die LocalConnection Klasse arbeiten.
Wenn über Javascript, dann solltest du dir die ExternalInterface Klasse an gucken.
(Wieder F1 drücken)

Zitat:
Zitat von der-klang
weitere musikfiles
Würde es bestimmt auch nicht geben, weil ich wohl nicht der Einzige bin der nach deiner Beschreibung nicht weiß, wie die Seite aufgebaut ist.
Da solltest du doch wenigsten mal das Grundgerüst z.B. zum Download anbieten.
messingfeld ist offline   Mit Zitat antworten
Alt 27-04-2006, 16:01   #3 (permalink)
Rookie
 
Benutzerbild von der-klang
 
Registriert seit: Apr 2006
Ort: Frankfurt
Beiträge: 73
ich dachte mir schon dass die blosse beschreibung nicht reicht
trotzdem kurz zu den fragen
(durch kk ist die seite nämlich im moment nicht über die eigentlich domain errreichbar müsste aber mit jeder stunde soweit sein, habe den kk vor ner woche bauftragt und poste entsprechend den link zur beta seite. sagt ,denke ich meisten aus) :

die gui ist auch in flash gebaut. der content mit navigation und dem ganzen rotz ist in einem PHP, welches wiederum von allen seiten in schwarze frames eingebettet is, sodass eine pseudo 16:9 optik entsteht...für das ganz grosse kinoereignis im internet...

der player ist mal wahllos im linken frame implementiert und die GUi im inneren PHP. die beiden swf´s sind in der Ruth (root), also recht einfache pfade.

eigentlich müssten nun bei einem klich in der gui variablen erzeugt werden die inden player gesendet werden.
würde der player den diese variablen statisch bei laden abfragen?
oder veranlasst eine if schleife flash dazu bei einer änderung einer variablen
der code abzuarbeiten?
die "weiteren Musiktitel" sind in PHP heisst eine externe Quelle was die viable angeht, aber ich habe gehört,gelesen und mittlerweile auch gesehen das ein übergreifender Austausch von variablen Möglich ist auch mit PHP.

Habe mir auch die Hife von FLash schon gegeben aber das sind immer anwendungbeispiele die sich auf das Öffnen neuer Browserfenster bezieht etc.
Ich bin leider - auch wenn man es kaum glauben mag - zu doof für den Transfer des ganzen auf meine Problematik...

Hier der Link zur Site : www.der-klang.de/beta

ist allerdings wegen des KK´s noch nicht errreichbar, einfach regelmäßig mal probieren, kann nicht mehr lange dauern undes wäre nett wenn ihr die geduld aufbringt...


Sourcecode habe ich natürlich auch :


index.html

</head>

<frameset cols="*,990,*" framespacing="0" frameborder="0" border="no">
<frame src="player.htm" noresize scrolling="no" frameborder="no" marginwidth="0" marginheight="0">
<frameset rows="*,600,*" framespacing="0" frameborder="0" border="no">
<frame src="blank.htm" noresize scrolling="no" frameborder="no" marginwidth="0" marginheight="0">
<frame src="index.php?lng=de&menu=0&sub=0" name="main" noresize scrolling="no" frameborder="no" marginwidth="0"marginheight="0">
<frame src="blank.htm" noresize scrolling="no" frameborder="no" marginwidth="0" marginheight="0">
</frameset>
<frame src="blank.htm" noresize scrolling="no" frameborder="no" marginwidth="0" marginheight="0">
<noframes>
<body bgcolor="#000000" topmargin="0" leftmargin="0">
<div align="center">
<br><br><strong>site cannot be displayed.</strong><br><br>
please allow your browser to show frames!
</div>
</body>
</noframes>
</frameset>


</html>

Geändert von der-klang (27-04-2006 um 16:04 Uhr)
der-klang ist offline   Mit Zitat antworten
Alt 27-04-2006, 16:17   #4 (permalink)
Rookie
 
Benutzerbild von der-klang
 
Registriert seit: Apr 2006
Ort: Frankfurt
Beiträge: 73
und weiter gehts

danke erstmal für die antwort...

habe schon ein posts von dir gesehen und hatte jedesmal den eindruck "der mann hat plan" ...
also einmal blume --> biddäschön

Local connection klingt nach dem richtigen weg...
wie gesagt ich bin ein wenig zu doof für den transfer ..mag daran liegen ich weniger coder als mehr designer bin. ne kleine starthilfe wäre nicht schlecht.

also wie gesagt die beiden swf liegen im selben verzeichnis, werden aber einmal über index.php (GUI) und über player.htm aufgerufen mit folgenden
TAG´s...

Player.htm


<div style='position:absolute; left:10px; top:200px' border='no'>
<object classid='clsid:d27cdb6e-ae6d-11cf-96b8-444553540000' codebase= 'http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=8,0,0,0'
width='10' height='10' id='player' align='middle'>
<param name='allowScriptAccess' value='sameDomain' />
<param name='movie' value='player.swf' />
<param name='quality' value='high' />
<param name='bgcolor' value='#000000' />
<embed src='player.swf quality='high' bgcolor='#000000' width='10' height='14' name='player' align='middle' allowScriptAccess='sameDomain' type='application/x-shockwave-flash' pluginspage='http://www.macromedia.com/go/getflashplayer' />
</object>
</div>




Index.php




<div style='position:absolute; left:840px; top:460px' border='no'>

<object classid='clsid:d27cdb6e-ae6d-11cf-96b8-444553540000' codebase='http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=8,0,0,0'
width='150' height='140' id='soundmodule' align='middle'>
<param name='allowScriptAccess' value='sameDomain' />
<param name='movie' value='soundmodule.swf' />
<param name='quality' value='high' />
<param name='bgcolor' value='#000000' />
<embed src='gui.swf quality='high' bgcolor='#000000' width='150' height='140' name='soundmodule_volume' align='middle' allowScriptAccess='sameDomain' type='application/x-shockwave-flash' pluginspage='http://www.macromedia.com/go/getflashplayer' />
</object>

</div>





Im Player wollte ich die BG-Sounds über attachmethod eingebunden, da diese kleine rundlaufenden loops sind...
Unter Umständen ist es mit Loadsound doch besser ?

Hier auf jeden Fall mein noch spartanischer Code aus dem ersten bild der HZL

stop();

_root.bgSound=new Sound();
_root.bgSound.attachSound("bgSound01");
_root.bgSoundVolume=100;
_root.bgSound.setVolume(bgSoundVolume);
_root.bgSound.start(0,999);
der-klang ist offline   Mit Zitat antworten
Alt 27-04-2006, 17:29   #5 (permalink)
Rookie
 
Benutzerbild von der-klang
 
Registriert seit: Apr 2006
Ort: Frankfurt
Beiträge: 73
help urself...;)

manchmal sollte man nicht zu vorschnell aufgeben...und sich nicht zu schnell auf die hilfe andere berufen

hab nun in der gui folgenden code spasseshalber auf den buttons :

on (release) {
var bg_stop:LocalConnection = new LocalConnection();
bg_stop.send("bg_stop", "methodToExecute");
;
}





on (release) {
var bg_play:LocalConnection = new LocalConnection();
bg_play.send("bg_play", "methodToExecute");
;
}



und im player in der hzl diesen hier:



stop();

_root.bgSound=new Sound();
_root.bgSound.attachSound("bgSound01");
_root.bgSoundVolume=100;
_root.bgSound.setVolume(bgSoundVolume);
_root.bgSound.start(0,999);

var bg_stop:LocalConnection = new LocalConnection();
bg_stop.methodToExecute = function() {
stopAllSounds();
};
bg_stop.connect("bg_stop");

var bg_play:LocalConnection = new LocalConnection();
bg_play.methodToExecute = function() {
_root.bgSound.start(0,999);
};
bg_play.connect("bg_play");



und siehe da der geht !!!

aber wie mache ich es nun mit den anderen musikfiles und vor allem dem volume slider ??? ich benutze den standard slider aus flash tut.
der-klang ist offline   Mit Zitat antworten
Alt 27-04-2006, 18:00   #6 (permalink)
nobody is perfect
 
Benutzerbild von Decrone
 
Registriert seit: Apr 2002
Ort: Bremen
Beiträge: 3.049
hi

du hast Dir ja schon 2 Funktionsmethoden erstellt, dann erstell doch auch eine und das als Sound.prototype um den Sound zu Initialisieren!
PHP-Code:
var bgSound = new Sound(this); 
Sound.prototype.zuweisen = function(sTypsVolsLoop){ 
    
this.attachSound(sTyp); 
    
this.setVolume(sVol);
    
this.start(0,sLoop);
}
bgSound.zuweisen("bgSound01"100999); 
PHP-Code:
//um andere Sounds aufzurufen:
bgSound.zuweisen("bgSound05"100999); 
Gruss Dec
__________________
FF Unterstützen! Erste Hilfe! häufig gestellten Fragen
...................... ............... ................................

Geändert von Decrone (27-04-2006 um 18:39 Uhr)
Decrone ist offline   Mit Zitat antworten
Alt 27-04-2006, 18:59   #7 (permalink)
Rookie
 
Benutzerbild von der-klang
 
Registriert seit: Apr 2006
Ort: Frankfurt
Beiträge: 73
hi,

danke für die hilfe funktioniert auch soweit, allerdings stoppt bisher laufende track nicht wenn ein anderer gestartet wird und ich weiß nicht wieso...


stop();



var bgSound = new Sound(this);
Sound.prototype.zuweisen = function(sTyp, sVol, sLoop){
this.attachSound(sTyp);
this.setVolume(sVol);
this.start(0,sLoop);
}
bgSound.zuweisen("bgSound01", 100, 999);

var bg_stop:LocalConnection = new LocalConnection();
bg_stop.methodToExecute = function() {
stopAllSounds();
};
bg_stop.connect("bg_stop");

var bg_play:LocalConnection = new LocalConnection();
bg_play.methodToExecute = function() {
if (_global.Playing == false){
_root.bgSound.start(0,999);
_global.Playing = true;
}
};
bg_play.connect("bg_play");

var bg_num01:LocalConnection = new LocalConnection();
bg_num01.methodToExecute = function() {
_root.bgsound.stop();
bgSound.zuweisen("bgSound01", 100, 999);
};



habe schon versucht den sound mit stopallSounds anzuhalten bevor eine neuer sound zugewiesen wird aber es will nicht.
der-klang ist offline   Mit Zitat antworten
Alt 27-04-2006, 19:41   #8 (permalink)
Rookie
 
Benutzerbild von der-klang
 
Registriert seit: Apr 2006
Ort: Frankfurt
Beiträge: 73
ein eltztes mal ne frage für heute...

hab soweit erst mal die buttons zum laufen bekommen gibt nur noch einen bug:

wenn über den stop button der kram angehalten wurde, läßt der player sich über den start knopf nicht mehr starten.
liegt es daran das flash vergisst welcher titel als bgsound geladen wurde?
wenn ja wie schaffe ich abhilfe?

stop();
var bgSound = new Sound(this);
Sound.prototype.zuweisen = function(sTyp, sVol, sLoop){
this.attachSound(sTyp);
this.setVolume(sVol);
this.start(0,sLoop);
}
bgSound.zuweisen("bgSound01", 100, 999);

var bg_stop:LocalConnection = new LocalConnection();
bg_stop.methodToExecute = function()
{
stopAllSounds();
};
bg_stop.connect("bg_stop");

var bg_play:LocalConnection = new LocalConnection();
bg_play.methodToExecute = function()
{
if (bgsound.playing == true)
{
bgsound.playing =true;
}
_root.bgsound(this).start(0,sLoop);
};
bg_play.connect("bg_play");
der-klang ist offline   Mit Zitat antworten
Alt 27-04-2006, 20:55   #9 (permalink)
nobody is perfect
 
Benutzerbild von Decrone
 
Registriert seit: Apr 2002
Ort: Bremen
Beiträge: 3.049
und so
PHP-Code:
stop();
var 
bgSound = new Sound(this); 
Sound.prototype.zuweisen = function(sTypsVolsLoop){ 
    
this.sLoop sLoop;
    
this.attachSound(sTyp); 
    
this.setVolume(sVol); 
    
this.start(0,sLoop); 

bgSound.zuweisen("bgSound01"100999); 

var 
bg_stop:LocalConnection = new LocalConnection();
bg_stop.methodToExecute = function() 
{
bgSound.stop();
};
bg_stop.connect("bg_stop");

var 
bg_play:LocalConnection = new LocalConnection();
bg_play.methodToExecute = function() 
{
bgSound.stop();
bgSound.start(0bgSound.sLoop);
};
bg_play.connect("bg_play"); 
Gruss Dec

[EDIT]
"ein eltztes mal ne frage für heute... "
nullProblemo
__________________
FF Unterstützen! Erste Hilfe! häufig gestellten Fragen
...................... ............... ................................

Geändert von Decrone (27-04-2006 um 21:26 Uhr)
Decrone ist offline   Mit Zitat antworten
Alt 27-04-2006, 21:37   #10 (permalink)
Rookie
 
Benutzerbild von der-klang
 
Registriert seit: Apr 2006
Ort: Frankfurt
Beiträge: 73
Zitat:
Zitat von Decrone
und so
PHP-Code:
stop();
var 
bgSound = new Sound(this); 
Sound.prototype.zuweisen = function(sTypsVolsLoop){ 
    
this.sLoop sLoop;
    
this.attachSound(sTyp); 
    
this.setVolume(sVol); 
    
this.start(0,sLoop); 

bgSound.zuweisen("bgSound01"100999); 

var 
bg_stop:LocalConnection = new LocalConnection();
bg_stop.methodToExecute = function() 
{
bgSound.stop();
};
bg_stop.connect("bg_stop");

var 
bg_play:LocalConnection = new LocalConnection();
bg_play.methodToExecute = function() 
{
bgSound.stop();
bgSound.start(0bgSound.sLoop);
};
bg_play.connect("bg_play"); 
Gruss Dec
nö der play button will trotzdem nicht starten nachdem mit stop angehalten wurde.
da aber bei klick auf 1-5 entsprechend die sounds gestartet werden habe ich die vermutung dass flash nachdem angehalten wurde vergisst welcher sound entsprechend in die variable geladen wurde, bzw. setzt diese bei stop auf "null/falsE2 oder was auch immer.
der-klang ist offline   Mit Zitat antworten
Alt 27-04-2006, 21:56   #11 (permalink)
nobody is perfect
 
Benutzerbild von Decrone
 
Registriert seit: Apr 2002
Ort: Bremen
Beiträge: 3.049
das Sound Objekt mit dem darin definierten Soundstück ist noch vorhanden! Wie sieht die Geschichte denn aus wenn Du das Sound Objekt Global machst?

PHP-Code:
_global.bgSound = new Sound(this); 
__________________
FF Unterstützen! Erste Hilfe! häufig gestellten Fragen
...................... ............... ................................
Decrone ist offline   Mit Zitat antworten
Alt 27-04-2006, 22:56   #12 (permalink)
Rookie
 
Benutzerbild von der-klang
 
Registriert seit: Apr 2006
Ort: Frankfurt
Beiträge: 73
nee, geht leider auch nicht.

irgendwi hab ich auch das gefühl dass es eher am LocalConnection liegt.

ich hab die play Routine ma rausgenommen zu testzwecken und nur den stop befehl drin gelassen und selbst das führtflash nicht aus aberich habe den fehler bisher nich gefunden...


das ist der code der GUI im play button:

on (release) {
var bg_play:LocalConnection = new LocalConnection();
bg_play.send("bg_play", "methodToExecute");
;
}


und hier der recieve im player:


var bg_play:LocalConnection = new LocalConnection();
bg_play.methodToExecute = function()
{
bgSound.stop();

};
bg_play.connect("bg_play");



letztenendes derselbe code des stop buttons, welcher funktioniert
der-klang ist offline   Mit Zitat antworten
Alt 27-04-2006, 23:18   #13 (permalink)
Rookie
 
Benutzerbild von der-klang
 
Registriert seit: Apr 2006
Ort: Frankfurt
Beiträge: 73
ok kommando zurück...
der:

bgSound.stop();
wird ausgeführt heisst klick auf play stopt den sound.

aber weder:

bgSound.start(0, bgSound.sLoop);

bgSound.start();

_global.bgSound.start();

_global.bgSound.play();

lassen den sound starten....grmpf
der-klang ist offline   Mit Zitat antworten
Alt 27-04-2006, 23:34   #14 (permalink)
Rookie
 
Benutzerbild von der-klang
 
Registriert seit: Apr 2006
Ort: Frankfurt
Beiträge: 73
ok ich denke ich habs und es ist ganz ordinär ein semikolon gewesen...


//---------------PLAY Button-----------------------//

var play_bg:LocalConnection = new LocalConnection();
play_bg.methodToExecute = function()
{
bgSound.stop() <--- semikolon raus und es geht

bgSound.start(0, 100, 999);
};
play_bg.connect("bg_play");
der-klang ist offline   Mit Zitat antworten
Alt 28-04-2006, 13:01   #15 (permalink)
nobody is perfect
 
Benutzerbild von Decrone
 
Registriert seit: Apr 2002
Ort: Bremen
Beiträge: 3.049
ist schon komisch aber das hat anscheinend ja wirklich was mit LocalConnection zutun gehabt! Nun Hauptsache es funtzt jetzt und bitte schön

Gruss Dec
__________________
FF Unterstützen! Erste Hilfe! häufig gestellten Fragen
...................... ............... ................................
Decrone 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 08:39 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele