You are not logged in.

Dear visitor, welcome to krpano.com Forum. If this is your first visit here, please read the Help. It explains in detail how this page works. To use all features of this page, you should consider registering. Please use the registration form, to register here or read more information about the registration process. If you are already registered, please login here.

1

Tuesday, August 30th 2016, 7:36pm

Sound beim Klick auf Hotspot und Karte unten links starr?

Hallo zusammen,

ich möchte gerne bei einer Tourerstellung, dass beim Klick auf den Hotspot ein Ton abgespielt wird, hat das schon jemand mal erstellt und kann mir die Codezeile dazu zur Verfügung stellen?

Darüber hinaus würde ich gerne starr unten links in der Ecke immer eine Karte (selbst gezeichnet) einbauen auf der ich dann den Punkt markiere an dem man sich gerade befindet, ist das auch irgendwie möglich?

2

Tuesday, August 30th 2016, 10:45pm

Zuerst musst du das Sound Plugin einbinden und den Stammordner für Deine Sounds festlegen (siehe Plugin Seite)

Dann beim gewünschten Hotspot folgendes eingeben/hinzufügen:

onclick="playsound(auto, soundname.mp3,1);"

Hope this helps

3

Wednesday, August 31st 2016, 10:56am

Danke, dass hat soweit funktioniert, er spielt jetzt den Ton, geht aber nicht mehr weiter zum nächsten Bild.

Die Idee war, dass man auf den Hotspot klickt, dann kommt ein kurzer Ton 0,9 Sekunden und er wechselt zum nächsten Bild. Jetzt spielt er nur noch den Ton ab beim Kick auf den Hotspot.

toosten

Intermediate

Posts: 450

Location: Berlin

Occupation: freier Software-Entwickler ( HTML, JS, PHP, JSP, Flash, AS3, C++, Java, krpano, ---)

  • Send private message

4

Wednesday, August 31st 2016, 12:05pm

Das was vorher in onclick war, muß durch das neue erweitert werden, nicht ersetzen!

5

Wednesday, August 31st 2016, 12:54pm

Die Zeile sieht bei mir jetzt so aus

<hotspot name="spot1" style="skin_hotspotstyle" ath="78.282" atv="1.146" onclick="playsound(auto,swing.mp3,1);" linkedscene="scene_l2b2" />

toosten

Intermediate

Posts: 450

Location: Berlin

Occupation: freier Software-Entwickler ( HTML, JS, PHP, JSP, Flash, AS3, C++, Java, krpano, ---)

  • Send private message

6

Wednesday, August 31st 2016, 1:26pm

"playsound(auto,swing.mp3,1);" solltest du ins Style "skin_hotspotstyle" packen

7

Thursday, September 1st 2016, 4:50pm

sorry irgendwie versteh ich nicht wie ich das da hinzufügen soll.

toosten

Intermediate

Posts: 450

Location: Berlin

Occupation: freier Software-Entwickler ( HTML, JS, PHP, JSP, Flash, AS3, C++, Java, krpano, ---)

  • Send private message

8

Friday, September 2nd 2016, 8:39am

Im style "skin_hotspotstyle" ist eine onclick-Action hinterlegt und in deinem hotspot der dieses style nutzt ist auch eine onclick hinterlegt, eine von beiden wird überschrieben.
Damit aber wie gewünscht beide funktionieren, empfehle ich dir die onclick vom style um deine gewüschte action zu erweitern.

http://krpano.com/docu/xml/#style

9

Friday, September 2nd 2016, 11:31am

Das klappt ja auch ganz schön, doch wie kann verhindert werden, dass bei mehrfachem Klick auf den Hotspot die Audiodatei immer wieder neu geladen und zusätzlich abgespielt wird? Mein bisheriger Code wiederholt die Sounddatei immer wieder. Man kann sie aber zwischendurch stoppen und an derselben Stelle wieder abspielen. Nur die Wiederholung müsste da raus.

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
<!-- Sound -->
  
  <!-- load the soundinterface plugin -->
   	<plugin name="soundinterface" url="%SWFPATH%/plugins/soundinterface.swf" alturl="%SWFPATH%/plugins/soundinterface.js" rootpath="" preload="true" keep="true"></plugin>


    <!-- start playing the sound -->
    <events name="currentpano"
            onnewpano=""
            onremovepano="stopsound(bgsnd);"
            />


    <!-- button to pause the sound: -->
    <plugin name="snd" url="soundonoff.png" ath="+110" atv="+12" alpha="0.75" scale="1" onover="tween(alpha,1);" onout="tween(alpha,0.25);"
            crop="0|0|50|50"
            onloaded="if(ismobile,set(scale,1));"
            onclick="startsound();"
            />

       <action name="startsound">
  playsound(bgsnd, 'tonne.mp3|tonne.ogg', 0);
  set(plugin[snd].onclick, pausesoundtoggle(bgsnd); switch(crop, 0|0|50|50, 0|50|50|50););
</action>

10

Friday, September 2nd 2016, 12:46pm

Ich nerve sicherlich schon weil ich einfach wie der Ochse vorm Berg stehe :D meine Zeilen sehen jetzt so aus.

<style name="skin_hotspotsytle" onclick="playsound(auto,swing.mp3,1);" URL="skin-hotspotstyle" linkedscene="scene_l2b2" />
<hotspot name="spot1" style="skin_hotspotstyle" onclick="playsound(auto,swing.mp3,1);" ath="78.282" atv="1.146" linkedscene="scene_l2b2" />

toosten

Intermediate

Posts: 450

Location: Berlin

Occupation: freier Software-Entwickler ( HTML, JS, PHP, JSP, Flash, AS3, C++, Java, krpano, ---)

  • Send private message

11

Saturday, September 3rd 2016, 8:25am

Das wird dann ein wenig komplexer ;-)

http://krpano.com/plugins/soundinterface/#playsound

Man kann dem Playsound eine oncomplete-Action und einen Namen mitgeben.

Wenn du den zur Zeit abgespielten Soundname in eine Variable packst, dann kannst du vor jeden auslösen testen ob ein Sound läuft.

Source code

1
2
3
4
5
6
7
8
9
10
<action name="myplay">
ifnot( lastsound,
   set(lastsound, %1);
   playsound( %1, %2, %3, myplay_ende());
);
</action>

<action name="myplay_ende">
   delete(lastsound);
</action>


myplay(auto,swing.mp3,1);

( ungetestet )

12

Saturday, September 3rd 2016, 7:41pm

Danke, toosten, Dein Code hat die Wiederholungen der Audiodatei nun gestoppt. Das ist ein schöner Erfolg.

Kannst Du mal sehen, wie die Mehrfachwiedergabe des Sounds bei Mehfachklick auf den Hotspot verhindert werden kann?

Das ergibt zwar interessante Kanon-artige Effekte und aus einer einzigen Stimme wird so ein Volksgemurmel, aber ist ja so nicht erwünscht. ;-)


Könnte jemand an einer Beispieldatei zeigen, wie die folgenden Anwendungs-Anforderungen in der tour.xml codiert werden?


1. Ein Lautsprechersymbol als Hotspot, das beim Klick von Lautsprecher an und Lautsprecher aus wechselt (Dieser Codeabschnitt funktioniert nicht mit der Unterdrückung der Wiederholungen)

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
<!-- Sound -->
  
  <!-- load the soundinterface plugin -->
   	<plugin name="soundinterface" url="%SWFPATH%/plugins/soundinterface.swf" alturl="%SWFPATH%/plugins/soundinterface.js" rootpath="" preload="true" keep="true"></plugin>


    <!-- start playing the sound -->
    <events name="currentpano"
            onnewpano=""
            onremovepano="stopsound(bgsnd);"
            />


    <!-- button to pause the sound: -->
    <plugin name="snd" url="soundonoff.png" ath="+110" atv="+12" alpha="0.75" scale="1" onover="tween(alpha,1);" onout="tween(alpha,0.25);"
            crop="0|0|50|50"
            onloaded="if(ismobile,set(scale,1));"
            onclick="startsound();"
            />

       <action name="startsound">
  playsound(bgsnd, 'tonne.mp3|tonne.ogg', 0);
  set(plugin[snd].onclick, pausesoundtoggle(bgsnd); switch(crop, 0|0|50|50, 0|50|50|50););
</action>


2. Beim Klick beginnt die Wiedergabe, beim erneuten Klick pausiert sie.

(Das funktioniert mit dem obigen Code)

3. Am Ende der Wiedergabe gibt es keine Wiederholung.

Hier so gelöst:

Source code

1
2
3
4
5
6
7
8
9
10
11
12
13
14
<action name="myplay">
ifnot( lastsound,
   set(lastsound, %1);
   playsound( %1, %2, %3, myplay_ende());
);
</action>

<action name="myplay_ende">
   delete(lastsound);
</action>

 	
	
	<hotspot name="spot1" style="skin_hotspotstyle" ath="78.282" atv="1.146" onclick="playsound(auto,test.mp3,1) myplay(auto,test.mp3,1);" />


4. Bei Mehrfachklick auf den Hotspot wird die Audiodatei nicht zusätzlich zur laufenden abgespielt.

5. Beim Wechsel des Panoramas wird die Wiedergabe gestoppt.

(Das ist mit dem ersten Codebeispiel möglich)

6. Bei mehreren Hotspots in einem Panorama wird jeweils nur eine Audiodatei zur Zeit abgespielt, auch wenn andere Hotspots angeklickt werden.

7. Oder: Wenn bei laufender Wiedergabe ein anderer Hotspot angeklickt wird, stoppt die Wiedergabe des ersten und der zweite Hotspot-Sound wird abgespielt.

Ich möchte gern die Erklärungen des Museumsleiters zu den einzelnen Exponaten in den Panoramen als Audiodatei anbieten.


Viele Grüße

panox

toosten

Intermediate

Posts: 450

Location: Berlin

Occupation: freier Software-Entwickler ( HTML, JS, PHP, JSP, Flash, AS3, C++, Java, krpano, ---)

  • Send private message

13

Monday, September 5th 2016, 9:19am

Statt
onclick="playsound(auto,test.mp3,1) myplay(auto,test.mp3,1);"

das
onclick="myplay(auto,test.mp3,1);"

Somit wird der Sound nur 1x abgespielt und nicht 2x parallel

14

Monday, September 5th 2016, 9:48am

Hat nicht einer ein Beispiel wie das aussieht mit Sound abspielen bei Klick auf den Hotspot und gleichzeitiger Öffnung des neuen Bildes bei Klick auf den Hotspot.

Ich verstehe ehrlich gesagt garnix mehr ob die Sachen oben jetzt noch für mich passend sind oder für die andere Frage in meinem Thema.

toosten

Intermediate

Posts: 450

Location: Berlin

Occupation: freier Software-Entwickler ( HTML, JS, PHP, JSP, Flash, AS3, C++, Java, krpano, ---)

  • Send private message

15

Monday, September 5th 2016, 12:09pm

Man kann in onclick mehrere Actions hinzufügen ( hast du schon gemacht), deshalb kannst du auch x Ereignisse dirch ein Klick auslösen ( Sound, Anzeige von Bilder oder Panowechsel, ...)

16

Monday, September 5th 2016, 12:23pm

hmm, dann spielt er nach wie vor den Ton aber wechselt nicht in das nächste Pano.

17

Monday, September 5th 2016, 3:45pm

Quoted

onclick="myplay(auto,test.mp3,1);"

Somit wird der Sound nur 1x abgespielt und nicht 2x parallel



Danke, das klappt hervorragend.

Schön ist auch, dass mehrere Audiodateien-Hotspots den Sound erst dann abspielen, wenn der vorherige beendet ist.

Nur wird der Sound noch nicht beim Wechsel des Panoramas gestoppt. Das ist bei etwas längeren Audiodateien sinnvoll.


Kannst Du das bitte noch hinzufügen?

toosten

Intermediate

Posts: 450

Location: Berlin

Occupation: freier Software-Entwickler ( HTML, JS, PHP, JSP, Flash, AS3, C++, Java, krpano, ---)

  • Send private message

18

Monday, September 5th 2016, 9:53pm

<events onremovepano="stopallsounds(true)" />

19

Monday, September 5th 2016, 10:01pm

Die Zeile habe ich sofort ausgetestet. Sie stoppt die Wiedergabe der Audiodatei bei Panoramawechsel. Dann aber sind alle folgenden - und auch die vorherigen - Audiodateien stumm geschaltet.

Auch diese Zeile geht nicht:

Source code

1
<events onnewscene="stopsound(Getreidesensen.mp3)"/>


Quoted

stopsound(name)
stops playing a sound
name = identification name of the sound


http://krpano.com/plugins/soundinterface/#stopsound

Ist der Identification name der Dateiname mit Extension?

This post has been edited 1 times, last edit by "panox" (Sep 5th 2016, 10:51pm)


toosten

Intermediate

Posts: 450

Location: Berlin

Occupation: freier Software-Entwickler ( HTML, JS, PHP, JSP, Flash, AS3, C++, Java, krpano, ---)

  • Send private message

20

Tuesday, September 6th 2016, 9:08am

Sorry:

<events onremovepano="stopallsounds(true); delete(lastsound);" />