Archivlink: javarea.de Forum > JavaScript > Zufallssound abspielen
Vollständigen Link anzeigen: javarea.de Forum > JavaScript > Zufallssound abspielen

Pages: [1]

geschrieben von eiergeier am 30.01.2007 - 08:50
Hallo,

ich habe zwei Fragen zu folgendem Code:

HTML-Quelltext
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: 
33: 
34: 
35: 
36: 
37: 
38: 
39: 
<SCRIPT>
<!--
    var nummidi = 5		//Anzahl der Sounddateien
    day = new Date()


    seed = day.getTime()
    ran = parseInt(((seed - (parseInt(seed/1000,10) * 1000))/10)/100*nummidi + 1,10)
    if (ran == (1))
    {

// Beginn der Liste

midi=("military.mid");
    txt=("military.midi")
}
    if (ran == (2))
    {
midi=("hungary.mid");
    txt=("hungary.midi")
}
    if (ran == (3))
    {
midi=("dixie.mid");
    txt=("dixie.midi")
}
    if (ran == (4))
    {
midi=("guitars.mid");
    txt=("guitars.midi")
}
    if (ran == (5))
    {
midi=("tango.mid");
    txt=("tango.midi")
}
document.write('<center><embed src="' + midi + '" AUTOSTART=true HIDDEN=false VOLUME=100 WIDTH=200 Height=180 loop=false></embed><br><font color="black" face="arial" size=2>gespielt wird:</font><br><br>"<font color="black" face="arial" size=2><b>' + txt + '</b></font>"</center>')
// -->
</SCRIPT>


1. Die midis werden gleich gespielt, auch wenn sie noch nicht ganz geladen sind und fangen an zu stottern. Was kann man da machen?

2. Kann ich das Script nur auf Mausklick auf ein Objekt starten?

Danke schon mal, eiergeier

geschrieben von weisnix am 30.01.2007 - 13:05
Kann ich mir nicht vorstellen, dass das midi wegen des Ladens ruckelt. So groß sind die Dinge doch nicht.

Wenn du das Abspielen erst über ein Objekt möchtest, dann setzte das document.write in eine Funktion und ruf die dann auf.

geschrieben von eiergeier am 01.02.2007 - 14:28
Hallo,

vielen Dank! Hab mich auch gewundert dass die midis ruckeln. Kann man nich was machen, dass sie erst vollständig geladen werden?

eiergeier

Edit:

So sieht der Code jetzt aus:

HTML-Quelltext
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: 
33: 
34: 
35: 
36: 
37: 
38: 
39: 
40: 
41: 
42: 
43: 
44: 
37: 
38: 
39: 	<SCRIPT>
<!--
    var nummidi = 5		//Anzahl der Sounddateien
    day = new Date()


    seed = day.getTime()
    ran = parseInt(((seed - (parseInt(seed/1000,10) * 1000))/10)/100*nummidi + 1,10)
    if (ran == (1))
    {

// Beginn der Liste

midi=("military.mid");
    txt=("military.midi")
}
    if (ran == (2))
    {
midi=("hungary.mid");
    txt=("hungary.midi")
}
    if (ran == (3))
    {
midi=("dixie.mid");
    txt=("dixie.midi")
}
    if (ran == (4))
    {
midi=("guitars.mid");
    txt=("guitars.midi")
}
    if (ran == (5))
    {
midi=("tango.mid");
    txt=("tango.midi")
}
function.play
document.write('<center><embed src="' + midi + '" AUTOSTART=true HIDDEN=false VOLUME=100 WIDTH=200 Height=180 loop=false></embed><br><font color="black" face="arial" size=2>gespielt wird:</font><br><br>"<font color="black" face="arial" size=2><b>' + txt + '</b></font>"</center>')
// -->
</SCRIPT>

<a href="javascript:play();"><img src="http://dings.da/bi.ld></a>


ist der Code okay so?

geschrieben von weisnix am 01.02.2007 - 19:25
in etwa so:

HTML-Quelltext
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: 
33: 
34: 
35: 
36: 
37: 
38: 
39: 
40: 
41: 
<SCRIPT>
<!--
    var nummidi = 5		//Anzahl der Sounddateien
    day = new Date()
    
    seed = day.getTime()
    ran = parseInt(((seed - (parseInt(seed/1000,10) * 1000))/10)/100*nummidi + 1,10)
    if (ran == (1))
    {
// Beginn der Liste

midi=("military.mid");
    txt=("military.midi")
}
    if (ran == (2))
    {
midi=("hungary.mid");
    txt=("hungary.midi")
}
    if (ran == (3))
    {
midi=("dixie.mid");
    txt=("dixie.midi")
}
    if (ran == (4))
    {
midi=("guitars.mid");
    txt=("guitars.midi")
}
    if (ran == (5))
    {
midi=("tango.mid");
    txt=("tango.midi")
}
function lay(){
document.getElementById("musik").innerHTML = '<embed src="' + midi + '" AUTOSTART=true HIDDEN=false VOLUME=100 WIDTH=1 Height=1 loop=false></embed><font color="black" face="arial" size=2>gespielt wird:</font><br><font color="black" face="arial" size=2><b>"' + txt + '"</b></font>'
}
// -->
</SCRIPT>

<div id="musik" style="position:fixed;width:100px;" align="center"><img style="cursor: pointer;" src="http://dings.da/bi.ld border="0" onclick="lay()" /></div>

geschrieben von eiergeier am 03.02.2007 - 07:52
Vielen Dank für die Hilfe! Ich baue es gleich ein

Da hat er im Beitrag einfach :play in Smilie lay umgewandelt. Daher kam lay.

Also danke noch mal, eiergeier

geschrieben von weisnix am 03.02.2007 - 11:01
das ist eben so mit den Smilies.

Aber lay ist schon in Ordnung Das darf auch anders heißen, nur nicht play, da das Wort für eine eigene Funktion in Javascript reserviert ist.

geschrieben von eiergeier am 04.02.2007 - 07:33
oh okay wusste ich nich. Danke nochmals

eiergeier

geschrieben von eiergeier am 04.02.2007 - 07:45
Hallo,

jetzt habe ich doch noch ein Problem: Ich habe auf das Bild mit <a ...> </a> einen Link gesetzt. wenn ich diesen Link nun anklicke, leitet er nicht weiter, aber der Sound startet. und die embed-Anzeige überschreibt den Button.

Das sieht dann so aus:

HTML-Quelltext
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: 
33: 
34: 
35: 
36: 
37: 
38: 
39: 
40: 
41: 
42: 
43: 
44: 
<SCRIPT>
<!--
    var nummidi = 5		//Anzahl der Sounddateien
    day = new Date()
    
    seed = day.getTime()
    ran = parseInt(((seed - (parseInt(seed/1000,10) * 1000))/10)/100*nummidi + 1,10)
    if (ran == (1))
    {
// Beginn der Liste

midi=("military.mid");
    txt=("military.midi")
}
    if (ran == (2))
    {
midi=("hungary.mid");
    txt=("hungary.midi")
}
    if (ran == (3))
    {
midi=("dixie.mid");
    txt=("dixie.midi")
}
    if (ran == (4))
    {
midi=("guitars.mid");
    txt=("guitars.midi")
}
    if (ran == (5))
    {
midi=("tango.mid");
    txt=("tango.midi")
}
function lay(){
document.getElementById("musik").innerHTML = '<embed src="' + midi + '" AUTOSTART=true HIDDEN=false VOLUME=100 WIDTH=1 Height=1 loop=false></embed><font color="black" face="arial" size=2>gespielt wird:</font><br><font color="black" face="arial" size=2><b>"' + txt + '"</b></font>'
}
// -->
</SCRIPT>

</head>

<body>
<div id="musik" style="position:fixed;width:100px;" align="center"><a href="http://gymikids.carookee.com"><img style="cursor: pointer;" src="http://***-*****.de/********/forum.png" border="0" onclick="lay()" width="130" height="30" /></a></div>


Kann man da was machen?

geschrieben von weisnix am 04.02.2007 - 14:20
Da das Bild über dem Verweis liegt geht das dann auch so nicht.

Schreib alles in den Link, dann geht es. Aber du musst den Link schon in einem neuen Fenster öffnen, sonst ist die Musik wieder weg.

HTML-Quelltext
1: 
<div id="musik" style="position:fixed;width:100px;" align="center"><a href="http://gymikids.carookee.com" onclick="lay()" target="_blank"><img style="cursor: pointer;" src="http://***-*****.de/********/forum.png" border="0" width="130" height="30" /></a></div>


Powered by: JBB v.2.0.4 Copyright ©2000-2006, www.javarea.de.