Sound mehrmals abspielen
Grohmann
- javascript
0 frankx
ich versuche beim Klick auf ein Bild (die Turmuhr unserer Kirche)
eine wav-Datei (den Glockenschlag) so oft abzuspielen das er die vollen stunden wiedergibt. Ich will nicht alles selber erstellen also keine zwölf Dateien und dann sucht er sich die richtige raus sondern mit gethours stunden holen und dann abspielen ich weiss nicht ob da dann sowas wie nen delay rein muss
danke für die hilfe
Hellihello
vom Prinzip:
function bimmenln () {
solange nochnicht Uhrzeit
bimmel()
schlaege++
setTimeout(bimmeln(),1000)
function bimmel(){
bimmeleinmal
}
frankx
Wenn ich darf, würde ich ihm gerne einen voll funktionsfähigen Code geben.
Er sagte doch, dass er nicht gerne selber schreibt, oder?
MFG
Griever
Hellihello Griever,
Wenn ich darf, würde ich ihm gerne einen voll funktionsfähigen Code geben.
Wenn Du tust, was nicht darfst/sollst, dann wirst Du es hier nicht zu lesen kriegen. Ansonsten gilt doch nehmet und gebet, oder?
MFG
frankx
Ok. Aber net bös sein ...
<script type="text/javascript">
var Schlagdauer = 4000 // Wave-Datei-Abspiellänge + 1 Sekunde
var schlaege=0,played=false;
function init() { // Diese Funktion im Body (mit-)aufrufen
var j=new Date();
var m=j.getMinutes();
var s=j.getSeconds();
m=60-m;
s=60-s;
m=Number(m*60)+s; // Das Number() objekt benutz ich, weils
// bei mir n Fehler gab
j=j.getHours(); // Nicht mehr gebrauchtes Date-Obj wird mit
// Stundenwert überschrieben.
if(m==1)
{
if(j>=13)
schlaege=j-11; // j-12+1 = j-11; Logisch, oder? Für 12h anstatt 24h
else
schlaege=j+1; // Da es ja erst z. B. 9:95:59 ist und nicht 10:00
if(played!=true)
setTimeout("glockenschlag()",100) // 1/10 Sekunde Zeit abwarten
}
setTimeout("init()",500) // Jede halbe Sekunde prüfen.
}
function glockenschlag() {
schlaege--;
document.all.glockenschlag.play(); // geht auch getElementById()
// document.getElementById("glockenschlag").play();
if(schlaege!=0)
{
played=true;
setTimeout("glockenschlag()",Schlagdauer)
}
else
played=false
}
</script>
Dieses Script schlägt automatisch zu jeder Stunde. Nun eine Version, die Beim darauf klicken die aktuelle Stunde schlägt:
<script type="text/javascript">
var j="";
var aktuellerschlag="aus";
var schlagdauer = 4000 // wie oben das script ...
function aktuellestunde() {
if(aktuellerschlag=="aus") // Verhindert mehrmaliges Bimmeln bei Floodklicken.
{
j=new Date();
j=j.getHours();
schlagen();
}
}
function schlagen() {
if(j!=-1)
{
j--;
document.getElementById("glockenschlag").play()
aktuellerschlag=setTimeout("schlagen()",schlagdauer);
}
else
{
aktuellerschlag="aus"
}
}
</script>
Ich hoffe doch, dass dir die Scripts gut gefallen.
Berichtigungen am Code ... Nur keine Hemmungen.
MFG
Griever
Hab den Code nochmals entbugged.
War z. B. die Wiedergabe-Anzahl noch nicht ganz korrekt. Wenn du es verwenden willst, kopiers rein und ruf die funktion auf (z. B. Link)
MFG
Griever