You are not logged in.

1

Saturday, May 28th 2011, 2:37pm

Sound stoppen beim neuen Pano

Hallo,
ich stelle mich grad bissi dämlich an. Ich will Sound in ein Pano einbinden. Funktioniert auch alles prima, nur ist der Sound beim aufrufen des nächsten Panos immer noch vorhanden. Wie stoppe ich den Sound?

Source code

1
2
3
4
5
6
7
8
9
10
11
12
13
<plugin name="soundinterface" url="../plugins/soundinterface.swf" rootpath="mp3" onloaded="action(activatesound);"/>  
<!-- a button to mute/unmute the sound -->  
<action name="activatesound">     
playsound3D(id,  ../sound/bach.mp3, 50, 0, 240, 1, 0, oncomplete); 
</action>  
<action name="deactivatesound">         
 stopallsounds();         
set(             plugin[nav_sound].url,             
images/soundonoff.png         );         
set(             
plugin[nav_sound].onclick,             
action(activatesound)         );  	
</action>

iceman_fx

Professional

Posts: 602

Location: Sachsen

Occupation: Webdesigner- und entwickler sowie Fotodesigner

  • Send private message

2

Saturday, May 28th 2011, 2:48pm

du musst nur das stopallsounds() in dein loadpano mit einsetzen und zwar bevor das neue gealden wird.

3

Saturday, May 28th 2011, 3:48pm

irgendwie check ich das nicht.

Du meintest sicherlich nicht so, oder?

<krpano version="1.0.8" logkey="false" onstart="action(setdefaultstate,gernecksplatz,stopallsounds);">

iceman_fx

Professional

Posts: 602

Location: Sachsen

Occupation: Webdesigner- und entwickler sowie Fotodesigner

  • Send private message

4

Saturday, May 28th 2011, 9:13pm

nein, du hast irgendwo eine aktion oder ein onclick auf einem hotspot, wo du loadpano() oder loadscene() machst.
Und dort davor musst du den sound stoppen und dann diesen load-befehl ausführen.

5

Tuesday, May 31st 2011, 8:06am

Hallo Falko,

es klappt einfach nicht, dass der Sound in den anschliessenden Panos dekativiert wird.

Die Datei mit dem Sound sieht so aus:

Quoted


<events onxmlcomplete="action(deactivatesound);" onloadcomplete="action(startsound);" />

<action name="startsound">
action(activatesound, sound/bach.mp3, 0, 0, 280, 0.5, 0);
</action>

<plugin name="sndinterface"
url="../plugins/soundinterface.swf"
rootpath="."
keep="false"
/>


Der Hotspot so:

Quoted


<hotspot name="gernecksplatz" url="../nav/pfeil_gl.png" blendmode="hardlight" onhover="showtext(Gernecksplatz);" onover="set(blendmode,normal);" onout="set(blendmode,hardlight);" ath="123.5747" atv="1.7147" onclick="lookto(120.5747,-9.7147,30);action(loadpano,gernecksplatz); plugin[maps].activatespot(gernecksplatz); action(updatespot,gernecksplatz); action(deactivatesound);"/>


Was muss denn in der Datei des anschliessenden Panos genau stehen und funktioniert mein Code so überhaupt?

6

Tuesday, May 31st 2011, 9:58am

Die Erklärung von Iceman beinhaltet doch eigentlich schon alle Infos...
Setze den Aufruf der action(deactivate) in den Hotspot welcher das nächste Pano startet. Die action(startsound) kommt in den startprozess des aufgerufenen Panos. Also so in etwa:

<hotspot blablabla
onclick="action(deactivate);blablabla;loadscene('nextplease',blabla)"
/>

<scene blablabla onstart="action(startsound)">

Das Ganze dann am besten noch mit einer tween-action kombinieren und diese ebenfalls in hotspot und onstart setzen!

Gruß,
Nupsi

7

Tuesday, May 31st 2011, 12:14pm

Die Erklärung von Iceman beinhaltet doch eigentlich schon alle Infos...
Setze den Aufruf der action(deactivate) in den Hotspot welcher das nächste Pano startet. Die action(startsound) kommt in den startprozess des aufgerufenen Panos. Also so in etwa:

<hotspot blablabla
onclick="action(deactivate);blablabla;loadscene('nextplease',blabla)"
/>

<scene blablabla onstart="action(startsound)">

Das Ganze dann am besten noch mit einer tween-action kombinieren und diese ebenfalls in hotspot und onstart setzen!

Gruß,
Nupsi


Nun ja, ich habe ja nicht umsonst so dümmlch gefragt, denn genau das funktioniert nicht bei mir.

8

Tuesday, May 31st 2011, 12:50pm

Dein Code sieht ja wie folgt aus:

Source code

1
2
<hotspot name="gernecksplatz" url="../nav/pfeil_gl.png" ....
onclick="lookto(120.5747,-9.7147,30);action(loadpano,gernecksplatz);  plugin[maps].activatespot(gernecksplatz);  action(updatespot,gernecksplatz); action(deactivatesound)


Hast Du mal versucht die deactivate-action an den anfang des onclick-tags zu setzen? Also...

Source code

1
2
<hotspot name="gernecksplatz" url="../nav/pfeil_gl.png" ....
 onclick="action(deactivatesound);lookto(120.5747,-9.7147,30);action(loadpano,gernecksplatz);   plugin[maps].activatespot(gernecksplatz);   action(updatespot,gernecksplatz)


Das hier: <events onxmlcomplete="action(deactivatesound);" onloadcomplete="action(startsound);" /> ergibt für mich gerade keinen Sinn, da so die action(deactivatesound) ja erst nach dem laden der XML initiiert wird und nicht vorher, wie es nötig wäre. Warum steht das da eigentlich überhaupt drin? Du rufst diese action doch eh im jeweiligen hotspot auf?!?

Rufst Du denn für jedes Pano eine separate XML auf, oder liegen alle in einer gemeinsamen XML?

Hier mal ein Beispiel wie ich diese Routine immer absolut problemlos nutze:

Source code

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
<plugin name="soundinterface"
 	url="../plugins/soundinterface.swf"
	 rootpath="sounds"
	 preload="true"
	 volume="0"
	/>
		
<!--ACTIONS-->
	<!--AUDIO FADE IN&OUT-->
		<!--Fade In-->
			<action name="fadein">
				tween(plugin[soundinterface].volume,1.0,1);
			</action>
		<!--Fade Out-->
			<action name="fadeout">
				tween(plugin[soundinterface].volume,0.0,1);
			</action>
		
	<!--BG Sounds Play-->
		<!--Sound1-->
			<action name="sound1play">
				playsound(sound,sound1.mp3,0);
			</action>
		<!--Sound2-->
			<action name="sound2play">
				playsound(sound2,sound2.mp3,0);
			</action>
	   		
	<!--BG Sounds Stop-->
		<action name="soundstop">
			stopallsounds();
		</action>


Aufgerufen wird der soundstop per:
onclick="action(fadeout);action(soundstop);loadscene........"

Und im neuen Pano wird der passende Sound aufgerufen:
onstart="action(sound1play);action(fadein)"

Funktioniert, wie gesagt, absolut problemlos! Falls es bei Dir so nicht funktioniert, liegt irgendwo anders in Deiner XML was im argen....

Gruß,
Nupsi

9

Wednesday, June 1st 2011, 11:32am

Hallo Nupsi,

funktioniert fast. Und zwar nur dann, wenn ich das Panorama mit Sound direkt aufrufe mittels "..html?pano=..."

Wenn ich das Pano aus der Tour heraus aufrufe, kommt kein Sound.


Problem gefunden. Ich muss im hotspot den sound schon starten: action(fadein); action(sound2play);

Jetzt geht es. Danke nochmal.

This post has been edited 4 times, last edit by "panoramafabrik.de" (Jun 1st 2011, 4:08pm)


Similar threads