Autor Zpráva
André
Profil *
Zdravim.
V tagu <audio> mám zvuk, který potřebuju přehrát po jedné, pěti a osmi sekundách a javascript zatím ještě nějak extra neovládám, tak by mne zajímalo, jak k prvnímu zpoždění začlenit i zbylé dva časy.
Předem díky.

HTML:
<body onload="Func1Delay()">

<audio id="zvuk">
      <source src="snd/zvuk.mp3" type="audio/mp3" />
</audio>

JS:
function Func1()
{
document.getElementById('zvuk').play();
}

function Func1Delay()
{
setTimeout("Func1()", 2000);
}

Živá ukázka:
http://kod.djpw.cz/rseb
_Leopik 2x
Profil *
setTimeout("Func1()", 1000); // po 1s (1s = 1000ms)
setTimeout("Func1()", 5000); // po 5s
setTimeout("Func1()", 8000); // po 8s
André
Profil *
_Leopik 2x:
Díky, já tam furt cpal ty závorky a nic.
Ale fungovalo by to pouze v případě, kdyby byl zvuk krátká, maximálně 4 sekundová sekvence. Když trvá 6 vteřin, v momentě kdy se má přehrát druhé opakování, doznívá ještě to první, takže skript to druhé prostě přeskočí a přehraje to až ve třetím opakování.
Jak toto ignorovat a přehrát všechna tři opakování natvrdo?
_Leopik 2x
Profil *
Môžeš to pauznúť a resetovať aktuálnu pozíciu v prehrávaní
function Func1()
{
document.getElementById('zvuk').pause();
document.getElementById('zvuk').currentTime = 0;
document.getElementById('zvuk').play();
}
_es
Profil
_Leopik 2x:
setTimeout("Func1()", 1000);
Alebo, lepšie, setTimeout(Func1, 1000); ( Časté potíže, zajímavosti a poučné debaty » Nepoužívejte eval, ani jeho obdoby).

André:
Okrem toho, je zvykom, že ak názov funkcie začína veľkým písmenom, tak je funkcia navrhnutá ako konštruktor - s použitím operátora new.

Vaše odpověď

Mohlo by se hodit

Neumíte-li správně určit příčinu chyby, vkládejte odkazy na živé ukázky.
Užíváte-li nějakou cizí knihovnu, ukažte odpovídajícím, kde jste ji vzali.

Užitečné odkazy:

Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: