Mám na testovacïm webu vloźeno: <audio autoplay loop>, takže se huba stále přehrává. Chtěl bych omezit počet smyček na 2-3.
Jak by v takovém případě měl vypadat zápis kódu? <audio autoplay loop=3> mi NEFUNGUJE.
Děkuji za informaci.
MB
Jak stanovit počet audio smyček (loop)? Vyřešeno
-
- Level 2
- Příspěvky: 200
- Registrován: říjen 13
- Pohlaví:
- Stav:
Offline
- ChrisTaylor
- Level 2
- Příspěvky: 161
- Registrován: duben 14
- Pohlaví:
- Stav:
Offline
Re: Jak stanovit počet audio smyček (loop)?
Značka audio takovou hodnotu atributu loop nepodporuje, tj. lze to udělat jedině pomocí JavaScriptu.
-
- Level 2
- Příspěvky: 200
- Registrován: říjen 13
- Pohlaví:
- Stav:
Offline
Re: Jak stanovit počet audio smyček (loop)?
Vytvořil jsem tento kód v JS:
<script>
var audio = new Audio() ;
audio.src ="spojeno 1.mp3";
audio.loop = true;
audio.play();
</script>
Kam mám napsat údaj o redukovaném počtu opakování nahrávky?
MB
<script>
var audio = new Audio() ;
audio.src ="spojeno 1.mp3";
audio.loop = true;
audio.play();
</script>
Kam mám napsat údaj o redukovaném počtu opakování nahrávky?
MB
- ChrisTaylor
- Level 2
- Příspěvky: 161
- Registrován: duben 14
- Pohlaví:
- Stav:
Offline
Re: Jak stanovit počet audio smyček (loop)?
Samotná třída pro přehrávání zvuku nepodporuje opakování zvuku nkrát, to si člověk musí vytvořit sám. Například:
Kód: Vybrat vše
let audioPlayer = new Audio("audio.mp3");
let playsCounter = 0;
const numberOfRepeats = 3;
audioPlayer.addEventListener("ended", function()
{
playsCounter++;
if (playsCounter < numberOfRepeats)
{
this.play();
}
});
audioPlayer.play();
-
- Level 2
- Příspěvky: 200
- Registrován: říjen 13
- Pohlaví:
- Stav:
Offline
Re: Jak stanovit počet audio smyček (loop)?
Jak a kam mám na stránce ten kód vložit. Má být uzavřen do nějakých tagů?
Děkuji
MB
Děkuji
MB
- ChrisTaylor
- Level 2
- Příspěvky: 161
- Registrován: duben 14
- Pohlaví:
- Stav:
Offline
Re: Jak stanovit počet audio smyček (loop)?
Jako nejvhodnější se jeví vytvořit externí soubor pro kód, např. main.js, ten se umístí do adresáře pro web a poté na se něj odkáže v hlavičce následovně:
Kód: Vybrat vše
<head>
/* … */
<script src="main.js"></script>
</head>
-
- Level 2
- Příspěvky: 200
- Registrován: říjen 13
- Pohlaví:
- Stav:
Offline
Re: Jak stanovit počet audio smyček (loop)?
Mám v externím souboru uzavřít ten kód mezi tagy <script> a </script> nebo mám do něho jen zkopírovat text kódu?
MB
Dodatečně přidáno po 51 minutách 35 vteřinách:
Vložil jsem to do scriptu takto:
<head>
/* … */
<script src="main.js"></script>
</head>
<script>
var audio = new Audio() ;
audio.src ="spojeno 1.mp3";
audio.loop = true;
audio.play();
</script>
Ale omezení na 3 přehrávky mi nefunguje. Co s tím mohu udělat?
MB
MB
Dodatečně přidáno po 51 minutách 35 vteřinách:
Vložil jsem to do scriptu takto:
<head>
/* … */
<script src="main.js"></script>
</head>
<script>
var audio = new Audio() ;
audio.src ="spojeno 1.mp3";
audio.loop = true;
audio.play();
</script>
Ale omezení na 3 přehrávky mi nefunguje. Co s tím mohu udělat?
MB
- ChrisTaylor
- Level 2
- Příspěvky: 161
- Registrován: duben 14
- Pohlaví:
- Stav:
Offline
Re: Jak stanovit počet audio smyček (loop)?
Půjdu tedy na to více podrobněji. Zvuk se opakovaně přehraje až po stisknutí tlačítka, neboť některé prohlížeče blokují automatické přehrávání bez interakce uživatele. V adresáři tvého projektu vytvoř soubory index.html a main.js.
Obsah souboru index.html:
Obsah souboru main.js:
V kódu výše akorát nahraď textový řetězec v konstruktoru třídy Audio na cestu k tvému zvukovému souboru, nynější je tam jako příklad.
Obsah souboru index.html:
Kód: Vybrat vše
<!doctype html>
<html lang="cs">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Opakování zvuku</title>
<script src="main.js" defer></script>
</head>
<body>
<button id="play-sound">Přehrát zvuk opakovaně</button>
</body>
</html>
Obsah souboru main.js:
Kód: Vybrat vše
document.querySelector("#play-sound").addEventListener("click", () =>
{
let audioPlayer = new Audio("file-name.mp3");
let playsCounter = 0;
const numberOfRepeats = 3;
audioPlayer.addEventListener("ended", function()
{
playsCounter++;
if (playsCounter < numberOfRepeats)
{
this.play();
}
});
audioPlayer.play();
});
V kódu výše akorát nahraď textový řetězec v konstruktoru třídy Audio na cestu k tvému zvukovému souboru, nynější je tam jako příklad.
-
- Level 2
- Příspěvky: 200
- Registrován: říjen 13
- Pohlaví:
- Stav:
Offline
Re: Jak stanovit počet audio smyček (loop)? Vyřešeno
Už je to v pořádku. Jsem asi trochu mdlého rozumu a nacpal jsem na stránku jak původní kód audio, tak odkaz na main.js
Púvodní kód audio jsem odstranil a ponechal jen odkaz na main.js
Funguje to perfektně a v externím souboru mohu libovolně stanovovat počet přehrávek.
Mnohokrát děkuji.
Martin Baroch
Púvodní kód audio jsem odstranil a ponechal jen odkaz na main.js
Funguje to perfektně a v externím souboru mohu libovolně stanovovat počet přehrávek.
Mnohokrát děkuji.
Martin Baroch
- ChrisTaylor
- Level 2
- Příspěvky: 161
- Registrován: duben 14
- Pohlaví:
- Stav:
Offline
Re: Jak stanovit počet audio smyček (loop)?
Není zač, případně označ téma jako „Vyřešené“ (symbol fajfky), aby mohlo jako sloužit vzory pro ty, kteří mají obdobný problém.
-
- Mohlo by vás zajímat
- Odpovědi
- Zobrazení
- Poslední příspěvek
-
- 3
- 1880
-
od flowem
Zobrazit poslední příspěvek
18 dub 2024 11:06
-
- 35
- 5451
-
od mmmartin
Zobrazit poslední příspěvek
29 črc 2023 19:39
-
- 0
- 1491
-
od peta501
Zobrazit poslední příspěvek
27 lis 2023 17:33
-
- 4
- 1038
-
od davsto
Zobrazit poslední příspěvek
03 črc 2023 21:00
-
-
Interní disk se jeví jako výměnný. Plus problém s 5.1 audio
od sasshrek » 15 pro 2023 20:54 » v Problémy s hardwarem - 2
- 708
-
od sasshrek
Zobrazit poslední příspěvek
16 pro 2023 16:42
-
Kdo je online
Uživatelé prohlížející si toto fórum: Žádní registrovaní uživatelé a 6 hostů