Autor Zpráva
okurkaa
Profil
Když kliknu na obrázek, tak se přehraje zvuk. Když dám ale dva obrázky vedle sebe a kliknu na play, tak se pořád přehrává ten první zvuk. Jak to udělat aby byly 2 obrázky za sebou a každý měl jiný zvuk? Když ten kód zkopíruju pod sebe tak to funguje pouze na ten jeden.

<img src="https://findicons.com/files/icons/1676/primo/128/button_blue_play.png" alt="Play Music" id="playbutton" onclick="HandleAudio()">
<audio id="background_music">
  <source src="dj1.mp3" type="audio/mpeg">
</audio>
<script>
var mPlayer = document.getElementById("background_music"); 
var mPlayAction = document.getElementById("playbutton"); 

var isPlaying = false;
function playAudio() { 
    mPlayer.currentTime = 0;
    mPlayer.play(); 
    mPlayer.loop = true;
    isPlaying = true;
    mPlayAction.src = "https://findicons.com/files/icons/1676/primo/128/button_blue_pause.png";
} 

function pauseAudio() { 
    mPlayer.pause();
    isPlaying = false;
    mPlayAction.src = "https://findicons.com/files/icons/1676/primo/128/button_blue_play.png";
} 
function HandleAudio(){
  if(isPlaying == true){
    //Playing already Pause it
    pauseAudio();
  }else{
    //Play the music
    playAudio();
  }
}
    </script>
Bubák
Profil
ID musí být unikátní.
okurkaa
Profil
Bubák:
A kde to nastavit? Budu rád jestli mě s tím prosím pomůžeš.


Zkouším to ale nejde mě to :-(
Kajman
Profil
Když se klikne i na druhý, mají hrát oba zvuky?
okurkaa
Profil
Chci dát těch obrázků za sebe 5 a každý aby přehrával jiný zvuk.
Jenže když ten kód zkopíruji 5x za sebe a změním ...mp3 , tak to hraje pouze jeden zvuk ten první.


Jo a aby hráli při kliknutí na 2 oba současně.
Kajman
Profil
A když se klikne postupně na všechny, má hrát najednou všech 5 zvuků dohromady?
okurkaa
Profil
Ano PROSÍM
Kajman
Profil
Zkuste něco jako

<img src="https://findicons.com/files/icons/1676/primo/128/button_blue_play.png" 
     data-altsrc="https://findicons.com/files/icons/1676/primo/128/button_blue_pause.png" 
     alt="Play Music 1" onclick="HandleAudio(this, 'background_music1')">
<img src="https://findicons.com/files/icons/1676/primo/128/button_blue_play.png" 
     data-altsrc="https://findicons.com/files/icons/1676/primo/128/button_blue_pause.png" 
     alt="Play Music 2" onclick="HandleAudio(this, 'background_music2')">
<img src="https://findicons.com/files/icons/1676/primo/128/button_blue_play.png" 
     data-altsrc="https://findicons.com/files/icons/1676/primo/128/button_blue_pause.png" 
     alt="Play Music 3" onclick="HandleAudio(this, 'background_music3')">
<audio id="background_music1">
  <source src="dj1.mp3" type="audio/mpeg">
</audio>
<audio id="background_music2">
  <source src="dj2.mp3" type="audio/mpeg">
</audio>
<audio id="background_music3">
  <source src="dj3.mp3" type="audio/mpeg">
</audio>
<script>
var isPlaying = {};
function HandleAudio(img, audioid) {
    var mPlayer = document.getElementById(audioid);
    if(mPlayer) {
        if(isPlaying[audioid]) { //Playing already Pause it
            mPlayer.pause();
            isPlaying[audioid] = false;
        }
        else { //Play the music
            mPlayer.currentTime = 0;
            mPlayer.play(); 
            mPlayer.loop = true;
            isPlaying[audioid] = true;
        }
    }
    
    if(img) {
        var newsrc = img.getAttribute('data-altsrc');
        if(newsrc) {
            img.setAttribute('data-altsrc', img.src);
            img.src = newsrc;
        }
    }
} 
</script>
okurkaa
Profil
Díky moc to je ono

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:

0